を cronに登録しましたが、ダンプに失敗しています。
OS:FreeBSD 8.3
シェルスクリプトの場所
/usr/home/www/scripts/bk_mysql.sh
所有者:権限
-rwxr-xr-- 1 user1 wheel 398 Jun 10 19:45 bk_mysql.sh
内容
#!/bin/sh
BACK_DIR=/usr/home/www/www.example.com/backup
MYSQL_ROOT_PW=aaaaaaa
# mysqldump
cd $BACK_DIR
mysqldump -u root --password=$MYSQL_ROOT_PW --all-databases > mysql_`date +%y%m%d%H%M`.sql
cron は1分毎にテスト実行しています
*/1 * * * * root /usr/home/www/scripts/bk_mysql.sh
しかし、ダンプファイルが作られません。
なお、同スクリプト内で、以下のアーカイブのパターンではアーカイブ生成に成功していますので、パーミッションなどには問題ないのかな?
DATA_DIR=/var/db
cd $DATA_DIR
tar cvzf $BACK_DIR/mysql_`date +%y%m%d-%H%M` mysql
と思っています。
mysqldump 特有の問題なのでしょうか?
ご教示お願いします。
$ which mysqldump
と入力して、表示されるパス (/sbin/mysqldump) といったパスで、
mysqldumpコマンドを置換すると良いと思いますよ。
*/1 * * * * root /usr/home/www/scripts/bk_mysql.sh
/etc/crontab に直書きしてるんでしょうか。
とりあえずrootがコマンドラインとして認識されている可能性を考えて、
shに置換してみてはいかがでしょう。
余談ですがrootでコマンドを実行するのは、あまりよくありません。
上記例では、mysqldumpによってディスクが本当にfullになってダウンするとか、
そういうことも起り得ます。 一般ユーザなら、95%で止めてくれたりします。(そういう設定がされている前提ですが)
mysqldumpにパスは通っていますか?
確認して下さい。
それから、mysqldumpは重たい処理なので、cronで1分おきというのは現実的ではありません。1時間おきにしてみて下さい。