QNAP NASでのバックアップ用シェルを用意し、cronで動かす
2013年10月5日 10:55 カテゴリ:QNAP
QNAPのNASのファームウェアを4.0.3にアップデートしたら cronが動かなくなった。
対応方法を調査したのでそのときのメモ。
NASはTS-669 Pro
やりたいこと
rsyncを夜間に実行し、外付HDDにバックアップを取得したい。
QNAPの基本機能で外付けHDDにバックアップはできるが、ファイルの更新内容を
メールで送信したいためシェルを組み込む
対応方法
1.シェル用意
以下の2ファイルをどこかのディレクトリに作成。
私の場合は過去ログも共有フォルダで参照したいため、共有フォルダ内にシェル、ログを配置した。#!/bin/sh export LANG=en_US.UTF-8 sdate=`date +%Y%m%d%H%M` cd /share/共有フォルダ/外付けHDDへバックアップ sh copyExtHDDlib.sh > Log/$sdate.log 2>&1 RTN=$? if [ ${RTN} -ne 0 ] then # エラー fromAddr=”xxx@hiroroom.net” toAddr=”xxx@hiroroom.net” subjString=”copyExtHDD NG[NAS]” bodyString1=”外付けHDDへのバックアップが失敗しました。\n\n以下、実行ログです。\n\n” bodyString2=`cat Log/$sdate.log` bodyString=$bodyString1$bodyString2 echo -e "From: <${fromAddr}>\nTo: <${toAddr}>\nSubject:${subjString}\n\n${bodyString}" | /usr/sbin/sendmail ${toAddr} else # 正常終了 fromAddr=”xxx@hiroroom.net” toAddr=”xxx@hiroroom.net” subjString=”copyExtHDD OK[NAS]” bodyString1=”外付けHDDへのバックアップが成功しました。\n\n以下、実行ログです。\n\n” bodyString2=`cat Log/$sdate.log` bodyString=$bodyString1$bodyString2 echo -e "From: <${fromAddr}>\nTo: <${toAddr}>\nSubject:${subjString}\n\n${bodyString}" | /usr/sbin/sendmail ${toAddr} fi#!/bin/sh #バックアップの実施 echo "" echo "****************************** 共有フォルダ ***************************************" echo `date` rsync -av –delete /share/共有フォルダ/ /share/USBDisk1/共有フォルダ/ | grep -v "/$" RTN=$? if [ ${RTN} -ne 0 ] then echo "**** エラー発生。処理を中断します。 ****" exit ${RTN} fi #ディスクの情報を出力 echo "" echo "****************************** ディスクの情報を出力 ***************************************" df -h※rsyncの詳細出力から常に出力されるディレクトの情報は除いてています。
grep -v “/$” でパスの最後が/で終わっているもの以外を出力。
2.ログフォルダ作成、権限割り当て
※ログフォルダも作っておくmkdir Log chmod u+x copyExtHDD.sh chmod u+x copyExtHDDlib.sh
3.cron設定
/etc/config/crontabにcronの設定を追加。
1で作成したシェルを毎日朝3時に実行させる。00 3 * * * /share/共有フォルダ/copyExtHDD.sh<br /><br />※使っているssh接続ツールであるPoderosaだと日本語のパスが文字化けしたため、WinSCPでファイルをアップロードした
cron読み込み、その後サービス再起動
crontab /etc/config/crontab /etc/init.d/crond.sh restartcronが反映されているか確認
crontab -l
コメントフィード
トラックバックURL: https://www.hirotaka.jp/2013/10/qnap-nas%e3%81%a7%e3%81%ae%e3%83%90%e3%83%83%e3%82%af%e3%82%a2%e3%83%83%e3%83%97%e7%94%a8%e3%82%b7%e3%82%a7%e3%83%ab%e3%82%92%e7%94%a8%e6%84%8f%e3%81%97%e3%80%81cron%e3%81%a7%e5%8b%95%e3%81%8b/trackback/