ログファイルや設定ファイルなどをバックアップする際に、rsyncを使うと便利です。実際に、ローカルサーバ内でのコピーにもrsyncを使用して、さらにリモートのバックアップサーバにもrsyncで同期をとっています。 ここでは、そのバックアップのシェルスクリプトを紹介します。
なお、rsyncコマンドのエラーハンドリングは記述していません。ログ監視でいいのであれば、ここで紹介する例のままでいいかと思います。
またここでは、リモート側でもここで紹介するローカルバックアップを実行していることを前提としています。
1.ローカルバックアップのシェルスクリプト rsync_backup_local.sh
このシェルスクリプトでは、rsyncのオプションinclude-fromとexclude-fromに指定しているファイルが重要な役割を担っています。これら2つのファイルの内容を1つのファイルにまとめて記述して、それをinclude-fromあるいはexclude-fromオプションで指定しても、同じ動作をします。
rsync_backup_local.sh
#!/bin/sh rc_NG=1 backupfrom=/ backupto=/backup/local/ includelist=$(dirname $0)/../conf/rsync_include.list excludelist=$(dirname $0)/../conf/rsync_exclude.list ownname=$(basename $0) logfile=$(dirname $0)/../log/${ownname%.*}.log echo `date +’%Y/%m/%d %H:%M:%S.%3N’` “Start of rsync backup [” $ownname “]” >>$logfile if [ ! -e $includelist ]; then echo “[ERROR] includeリストファイル” $includelist “が見つかりません。” >>$logfile echo `date +’%Y/%m/%d %H:%M:%S.%3N’` “End of rsync backup [” $ownname 続きを読む »