cron + async で定期差分バックアップ

cron + async で定期差分バックアップ
バックアップを毎日取得し
過去1週間分を保存する
対象とするのは設定ファイルとかコンテンツ
これらを毎日バックアップして
過去1週間分保存する
まずはわかりやすくコマンドで実行
rsync はフルパスにしてみた
実行環境は ubuntu12.10 64bit
sudo /usr/bin/rsync -a /var/www/ /backup/www-`/bin/date +%Y%m%d`
これを実行すると
/var/www/以下の内容が
/backup/www-バックアップした時の日付
という形式でバックアップされる
今回なら
www-20130720
となっている
このディレクトリの中には、
/var/www/ 以下のディレクトリがすべてコピーされている
`/bin/date +%Y%m%d`
は、バッククォートでかこっているため
実行結果を端末で入力したコマンドに渡すことができる
バッククォートの入力は
shift + @
これを cron で設定しておけば、バックアップが自動で行われる
大抵の例文だと深夜などにおこなうけど
ずっとパソコンをつけておけないという場合
食事やお風呂などの時間帯にしておくという方法もある
例えば、。
10 4 * * *
としてあると
毎日朝の4時10分にバックアップするけど
10 19 * * *
として夕方の7時ぐらいにバックアップという方法もある
また
バックアップを毎日取っていると、どんどんHDDやSSDの容量を使っていくので
必要に応じて削除することも必要
例えば、
sudo /usr/bin/find /backup/ -name www-* -mtime +6 -print0 | /usr/bin/xargs -0 /bin/rm -rf
とすると、古いファイルが消えるらしいけど
なぜか先ほどバックアップしたファイルも削除されていた
find コマンドのオプションに関しては
http://www.nxmnpg.com/ja/1/find
findコマンドを利用した便利なUNIXテクニック例
として
http://uguisu.skr.jp/Windows/find_xargs.html
があるので、このあたりをもう少し調べてみようと思います

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です