RSYNCに失敗した時などにメールを送信するシェルスクリプトを作成したのでそのメモ

まずはシェルスクリプトの内容です。

RSYNCに使うバックアップ元とバックアップ先の2つをシェルスクリプトの引数にしています。

コマンドの戻り値を見てエラーの場合にメールを送信しています。

シェルスクリプトの内容
#!/bin/sh

#引数は、2つ必要
if [ $# != 2 ]; then
        exit 0
fi

#バックアップ元
PATH1=$1

#バックアップ先
PATH2=$2

#メールを送りたいアドレスを指定。
address="xxxxxxx@xxxxx.jp"

#メールのタイトル&発報日時。
subject="$PATH1 $PATH2 RSYNC ERROR `date`"

rsync -avz --delete $PATH1 $PATH2

#成功
if [ $? -eq 0 ]; then
     exit 0
#失敗
else
     echo "$subject" | mail -s "$subject" $address
fi

exit 0

シェルスクリプトを実行
# sh /shell1.sh バックアップ元のパス バックアップ先のパス