- ベストアンサー
cronで週ごとのバックアップをとりたい。
下記のようなスクリプトを毎週月曜日に実行しています。 月曜日の日付を7で割った商の値*によりback-*に保存する仕組みです。 しかし、月によりback-0やback-4に保存されない場合があり、 もっと、スマートなやり方があるのかなと思います。 もし、ご存じでしたらお教えください。 (4週分ぐらいバックアップできれば問題ありません。) #!/bin/sh a=`date +%d` b=`expr $a / 7` case $b in 0) rsync -acouv --stats --delete /home /backup/back-0 ;; 1) rsync -acouv --stats --delete /home /backup/back-1 ;; 2) rsync -acouv --stats --delete /home /backup/back-2 ;; 3) rsync -acouv --stats --delete /home /backup/back-3 ;; 4) rsync -acouv --stats --delete /home /backup/back-4 ;; esac
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>しかし、月によりback-0やback-4に保存されない場合があり、 特に問題はないと思うので、そのままでいいのではないでしょうか。 >もっと、スマートなやり方があるのかなと思います。 その月の何回目のバックアップであるのかをカウントすることも出来ますが、わざわざ手間を掛けるだけのメリットがないと思います。 あと、case を使わなくても、下記で良いのでは? #!/bin/sh a=`date +%d` b=`expr $a / 7` rsync -acouv --stats --delete /home /backup/back-$b
その他の回答 (1)
- Nii
- ベストアンサー率48% (79/162)
以下が参考になるかと Linuxサーバー内データの自動バックアップを行う。 http://centossrv.com/backup.shtml
お礼
ご回答ありがとうございます。 参考にさせていただきます。
お礼
ご回答ありがとうございます。 caseを使わないやり方は参考になりました。