Cadangkan dan Pulihkan Server Gitea

Apa pun bisa terjadi dalam masa-masa sulit ini

Konten Halaman

Perlu melakukan backup 1) db, 2) filestorage, 3) beberapa file gitea lainnya. Mari kita mulai.

foto hdd yang terbuka yang sangat bagus

Dalam postingan Testing Gitea kita telah menginstal server gitea.

Kapan

Sekarang, sebagai langkah pencegahan terhadap hal-hal buruk yang mungkin terjadi, perlu latihan prosedur backup dan restore.

Lebih baik aman daripada menyesal.

Di mana

Data server Gitea terdiri dari 3 komponen:

  • kode
  • filestore
  • db

Di lingkungan uji, semua komponen tersebut memakan ruang sedikit lebih dari 700MB:

penggunaan disk gitea

Seperti yang mereka rekomendasikan, perlu menghentikan semua layanan dan melakukan backup semua komponen tersebut, dalam satu transaksi yang sama.

Dan untuk restore, juga dalam satu transaksi yang sama.

Cara - Backup

cd ~/gitea-srv-local

# backup db
sudo docker exec -t gitea-srv-local_db_1 bash -c 'pg_dump gitea -U gitea  --file=/var/lib/postgresql/backups/gitea-db-$(date +%Y-%m-%d).sql'

# matikan gitea
sudo docker-compose down

# periksa folder backup
sudo ls postgres-backups

# buat folder backup
mkdir gitea-backups

# backup folder gitea
sudo tar -zcvf gitea-backups/gitea-gitea-$(date +%Y-%m-%d).tgz gitea/gitea

# backup folder repos
sudo tar -zcvf gitea-backups/gitea-git-$(date +%Y-%m-%d).tgz gitea/git

# jalankan kembali
sudo docker-compose up -d

bagian terakhir - masuk ke server lain dan tarik folder backup ke sana, atau lakukan manipulasi file yang lebih rinci

scp -r uname@gitea-srv-ip-addr:/home/uname/gitea-srv-local/gitea-backups ~/gitea-backups
scp -r uname@gitea-srv-ip-addr:/home/uname/gitea-srv-local/postgres-backups ~/postgres-backups

Cara - Restore

Sebenarnya, ada sedikit lebih dari itu, terutama dengan izin dan hook, tetapi ide yang sama.

Namun! periksa dokumen asli: https://docs.gitea.com/administration/backup-and-restore

# instal dulu
# lalu matikan
sudo docker-compose down

# restore file
tar -zxvf gitea-git-___.tgz gitea/git
tar -zxvf gitea-gitea-___.tgz gitea/gitea

# jalankan kembali
sudo docker-compose up -d

# di sini beberapa aktivitas dengan psql atau pg_restore
sudo docker exec -t gitea-srv-local_db_1 bash -c 'psql gitea -U gitea  --file=/var/lib/postgresql/backups/gitea-db-$(date +%Y-%m-%d).sql'

Kemudian pergi ke UI dan periksa

Tautan yang berguna