
すべてを tar.gz ファイルにバックアップするためのスクリプトを書きました。大丈夫でしょうか? tar ファイルを実行後に別のサーバーに転送するにはどうすればよいでしょうか? 自分自身から FTP するには? このスクリプトを毎週の cron に組み込むつもりです。
#!/bin/bash
rm ~/backup.tar.gz #removes old backup
BACKUP_DIRS=$HOME #$HOME is builtin, it goes to /home/ and all child dirs
tar -cvzf backup.tar.gz $BACKUP_DIRS
# run tar -zxvf to extract backup.tar.gz
答え1
FTP は悪魔です。 RSA キーペアを使用した SCP は、ファイルをサーバー間で安全に移動するのに適した方法です。 スクリプトに関しては、問題ないようです。
答え2
変更するファイルがそれほど多くない場合は、大きな tar ボールを作成する代わりに rsync を使用するとよいでしょう。rsync は変更のみを送信するため、提案されている方法よりもネットワーク効率がはるかに高くなります。まずは次のようなものから始めてみましょう。
http://lifehacker.com/196122/geek-to-live--mirror-files-across-systems-with-rsync?tag=softwarersync
答え3
サーバーのサイズによっては、膨大な数の重複ファイルが作成されます。私なら、変更されたファイルのみをバックアップします。また、ファイルに日付と時刻のスタンプを付ける必要があります。
私ならこうします。
- フルバックを月に1回または週に1回行う
- その他の日については増分バックアップ
- ファイルの復元を容易にするために日付と時刻をスタンプする
ファイルの変更日を確認する最も簡単な方法は次のとおりです。
date -r $file +%F
つまり、基本的にはそれを関数でラップし、関数が最後のバックアップの日付と一致しない場合は、それをアーカイブ/バックアップに追加します。それ以外の場合は、先に進みます。
HTH