1

私は(他の誰かの)ソフトウェアを持っていますが、実行中にハードシャットダウンが発生すると、重要なファイルが破損してワークスペースが破壊されるという厄介な傾向があります。

これはすでにラッパー スクリプトを介して呼び出されているため、これに対する私の応答は (ワークスペースがそれほど大きくないため、100M 未満であるため)、プログラムを実行する前に a を貼り付けることでしtar -czf backups/workspace_$(date +%f_%R).tar.gz workspace/た。このソリューションを使用できます (古いバックアップを消去するために何かを配置する必要があるだけです) が、ほとんどの場合、これらのワークスペースではほとんど変更されないため、洗練されていないように見えます。問題のファイルのほとんどはバイナリです。

はい、適切なバックアップ システムが「より良い」選択であることはわかっていますが、これには使用したくありません。

明白な解決策は、リビジョン管理を使用することです: git. 私は git を手動でしか使用したことがないため、この自動化システムの使用について少し確信が持てません。

質問 1: レポをセットアップした後、

git add workspace
git commit -m "backup on `date`"

私が探していることをするつもりですか?

質問 2: 私が見ていないより良い方法はありますか? (大規模なバックアップを使用しない -- 増分リビジョン管理スキームが必要)

4

2 に答える 2

1
git add -A -- some/dir

一部/ディレクトリに制限されたすべての変更をステージングします

于 2012-08-14T20:32:03.340 に答える
1

git addは削除されたファイルを追跡しません。削除されたファイルも追跡する場合は、 を使用できますgit add -A。それ以外の場合、git add workspace+git commitは 内の新しいファイルと変更されたファイルを追跡しますworkspace

cronを使用して定期に変更をバックアップすると、データ損失に対する保護が向上する可能性があります。アプリケーションの開始時から発生した変更を失う代わりに、cron に使用する間隔に応じて、最後の 15 分/時間/日を失うだけです。

于 2012-08-14T20:06:27.287 に答える