USBに対してバックアップする用途。
USBにはあらかじめ「backupdata」というディレクトリを作成しておく。
vi backupusb.shで作成。
#!/bin/sh
#変数。上がソースで下が書き出し先
sharedir=/backup-source-directory
backupdir=/media/backupusb/backup-data-directory
#if文で同ディレクトリが存在するかどうか確認(特にバックアップ先のマウント忘れ防止)
if [ -e $backupdir ] && [ -e $sharedir ]; then
#ログファイル作成
touch $backupdir/rsync.log
#rsyncでバックアップする。
#書式はrsync -オプション /バックアップ元ディレクトリ /バックアップ先ディレクトリ
rsync -avhP $sharedir $backupdir --delete --log-file=$backupdir/rsync.log
#各オプションは、大文字小文字の区別あり。
#「-a」再帰的に様々な要素を複製する。ざっくり言うと、極力まんまコピーする。
#「-v」おしゃべり。
#「-h」単位を丸める
#「-P」進捗表示
#「--delete」オプションはバックアップ元ディレクトリとバックアップ先ディレクトリを比較
#バックアップ元から無くなっている場合はバックアップ先からも消去する。以上で。
#「--log-file」オプションは、指定先に対してログを書き出す。
else
echo "DONT MOUNTED!!"
fi
chmod +x backupusb.shで実行権限を付けて、
sh backupusb.shで実行。
cron等に登録するのも良い。
オプションに-nが入るとテストモード。
http://open-groove.net/shell/if-and-or/
とまんま同じところではまったので、リンクを残しておく。
要はif文で、●●かつ■■が正しい場合、はandではなくtest文の[]を&&でつなぐという。
http://inaz2.hatenablog.com/entry/2013/07/10/142129
がわかりやすい。
0 件のコメント:
コメントを投稿