KB-639C
S174-IMP-05 — Restore Guide for Code Backup on GDrive
6 min read Revision 1
reports174restorebackupgdriverunbookvps
S174-IMP-05 — Restore Guide for Code Backup on GDrive
Date: 2026-04-08
Scope: restore code quickly from Google Drive backup archives created by code-backup-to-gdrive.sh.
Rules Loaded
.claude/skills/incomex-rules.mdsearch_knowledge("operating rules SSOT")search_knowledge("hiến pháp v4.0 constitution")
Mục tiêu
Khôi phục nhanh repo code từ GDrive về VPS sao cho:
- đúng path production
- còn
.git - kiểm tra được
HEAD - có thể tiếp tục deploy / rebuild
- nếu cần có thể sync ngược lên GitHub sau khi hệ thống ổn định
1. Repo + Folder Mapping
web-test
- Repo path:
/opt/incomex/docker/nuxt-repo - GDrive folder id:
1K1atlFO-bkO7KoukEKPDFbZq7wvQd1Mb - File name pattern:
web-test_YYYYMMDD-HHMM_ICT.tar.gz
agent-data-test
- Repo path:
/opt/incomex/docker/agent-data-repo - GDrive folder id:
1__qHH5ndV0FqC73nJu5_kUN5sd46M-AN - File name pattern:
agent-data-test_YYYYMMDD-HHMM_ICT.tar.gz
2. Tìm Bản Backup Mới Nhất
web-test
rclone lsl gdrive-backup: --drive-root-folder-id 1K1atlFO-bkO7KoukEKPDFbZq7wvQd1Mb | sort
agent-data-test
rclone lsl gdrive-backup: --drive-root-folder-id 1__qHH5ndV0FqC73nJu5_kUN5sd46M-AN | sort
Chọn file mới nhất theo timestamp trong tên file hoặc timestamp remote.
3. Restore web-test
3.1 Tải archive về máy VPS
Ví dụ:
mkdir -p /opt/incomex/restore
rclone copyto \
gdrive-backup:web-test_YYYYMMDD-HHMM_ICT.tar.gz \
/opt/incomex/restore/web-test_YYYYMMDD-HHMM_ICT.tar.gz \
--drive-root-folder-id 1K1atlFO-bkO7KoukEKPDFbZq7wvQd1Mb
3.2 Giải nén ra thư mục tạm
mkdir -p /opt/incomex/restore/web-test-extract
tar -C /opt/incomex/restore/web-test-extract -xzf /opt/incomex/restore/web-test_YYYYMMDD-HHMM_ICT.tar.gz
3.3 Kiểm tra archive trước khi thay path production
ls -la /opt/incomex/restore/web-test-extract/web-test/.git
cat /opt/incomex/restore/web-test-extract/web-test/BACKUP-MANIFEST.txt
git -C /opt/incomex/restore/web-test-extract/web-test rev-parse HEAD
git -C /opt/incomex/restore/web-test-extract/web-test status --short --branch
3.4 Đưa về path production
Chỉ làm khi đã xác nhận path production cũ cần thay thế.
mv /opt/incomex/docker/nuxt-repo /opt/incomex/docker/nuxt-repo.bak.$(date +%Y%m%d-%H%M%S)
mv /opt/incomex/restore/web-test-extract/web-test /opt/incomex/docker/nuxt-repo
3.5 Verify sau restore
git -C /opt/incomex/docker/nuxt-repo rev-parse HEAD
git -C /opt/incomex/docker/nuxt-repo status --short --branch
test -f /opt/incomex/docker/nuxt-repo/.git/HEAD && echo ok
4. Restore agent-data-test
4.1 Tải archive về máy VPS
mkdir -p /opt/incomex/restore
rclone copyto \
gdrive-backup:agent-data-test_YYYYMMDD-HHMM_ICT.tar.gz \
/opt/incomex/restore/agent-data-test_YYYYMMDD-HHMM_ICT.tar.gz \
--drive-root-folder-id 1__qHH5ndV0FqC73nJu5_kUN5sd46M-AN
4.2 Giải nén ra thư mục tạm
mkdir -p /opt/incomex/restore/agent-data-test-extract
tar -C /opt/incomex/restore/agent-data-test-extract -xzf /opt/incomex/restore/agent-data-test_YYYYMMDD-HHMM_ICT.tar.gz
4.3 Kiểm tra archive trước khi thay path production
ls -la /opt/incomex/restore/agent-data-test-extract/agent-data-test/.git
cat /opt/incomex/restore/agent-data-test-extract/agent-data-test/BACKUP-MANIFEST.txt
git -C /opt/incomex/restore/agent-data-test-extract/agent-data-test rev-parse HEAD
git -C /opt/incomex/restore/agent-data-test-extract/agent-data-test status --short --branch
4.4 Đưa về path production
mv /opt/incomex/docker/agent-data-repo /opt/incomex/docker/agent-data-repo.bak.$(date +%Y%m%d-%H%M%S)
mv /opt/incomex/restore/agent-data-test-extract/agent-data-test /opt/incomex/docker/agent-data-repo
4.5 Verify sau restore
git -C /opt/incomex/docker/agent-data-repo rev-parse HEAD
git -C /opt/incomex/docker/agent-data-repo status --short --branch
test -f /opt/incomex/docker/agent-data-repo/.git/HEAD && echo ok
5. Optional — Sync Ngược Lên GitHub Sau Khi Ổn Định
Kiểm tra remote hiện có
git -C /opt/incomex/docker/nuxt-repo remote -v
git -C /opt/incomex/docker/agent-data-repo remote -v
Push lại lên branch an toàn trước
git -C /opt/incomex/docker/nuxt-repo push origin HEAD:restore/web-test-YYYYMMDD-HHMM
git -C /opt/incomex/docker/agent-data-repo push origin HEAD:restore/agent-data-test-YYYYMMDD-HHMM
Sau khi review xong mới fast-forward hoặc merge vào branch chính
Quyết định cuối cùng tùy trạng thái GitHub ở thời điểm phục hồi.
6. Rollback Nhanh Nếu Restore Sai
web-test
rm -rf /opt/incomex/docker/nuxt-repo
mv /opt/incomex/docker/nuxt-repo.bak.TIMESTAMP /opt/incomex/docker/nuxt-repo
agent-data-test
rm -rf /opt/incomex/docker/agent-data-repo
mv /opt/incomex/docker/agent-data-repo.bak.TIMESTAMP /opt/incomex/docker/agent-data-repo
7. Verify Checklist
- Có file archive đúng repo và timestamp.
- Archive có
BACKUP-MANIFEST.txt. - Archive có
.git/HEAD. git rev-parse HEADchạy được sau restore.git status --short --branchchạy được sau restore.- Repo về đúng path production.
- Nếu cần push lại GH, ưu tiên push vào branch
restore/*trước.