Gitea サーバーのバックアップと復元
これらの困難な時代には、何が起こるかわかりません。
目次
- データベース、2) ファイルストレージ、3) その他のGiteaファイルをバックアップする必要があります。以下に手順を示します。
Testing Gitea の投稿では、Giteaサーバーをインストールしました。
いつ
今後、悪いことが起こる可能性があるため、バックアップと復元の手順を確認しておく必要があります。
安全を確保する方が良いです。
どこで
Giteaサーバーのデータは3つのコンポーネントから構成されています。
- コード
- ファイルストレージ
- データベース
テスト環境では、これらすべてが700MB以上を占めています。
推奨されているように、すべてのサービスを停止した上で、同じトランザクション内でバックアップを取得する必要があります。
復元も、同じトランザクション内で行う必要があります。
どうやって - バックアップ
cd ~/gitea-srv-local
# データベースのバックアップ
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'
# Giteaを停止
sudo docker-compose down
# バックアップフォルダを確認
sudo ls postgres-backups
# バックアップ用フォルダを作成
mkdir gitea-backups
# Giteaフォルダのバックアップ
sudo tar -zcvf gitea-backups/gitea-gitea-$(date +%Y-%m-%d).tgz gitea/gitea
# リポジトリフォルダのバックアップ
sudo tar -zcvf gitea-backups/gitea-git-$(date +%Y-%m-%d).tgz gitea/git
# 再起動
sudo docker-compose up -d
最後に、他のサーバーにログインし、バックアップフォルダを引き渡すか、より複雑なファイル操作を行うことができます。
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
どうやって - 復元
実際には、パーミッションやフックなど、いくつかの追加の手順が必要ですが、基本的な考え方は同じです。
ただし、必ず元のドキュメントを確認してください: https://docs.gitea.com/administration/backup-and-restore
# まずインストール
# 次に停止
sudo docker-compose down
# ファイルを復元
tar -zxvf gitea-git-___.tgz gitea/git
tar -zxvf gitea-gitea-___.tgz gitea/gitea
# 再起動
sudo docker-compose up -d
# ここではpsqlまたは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'
その後、UIにアクセスして確認してください。