cronにスケジュールされてからbashスクリプトを使用してバックアップを実行しようとしています。
#!/bin/bash
echo "Hello"
while read table
do
/usr/bin/mysqldump -uroot -pxxxxxx CMAYA_RadiusUserLogs $table > sc_back/${table}.sql
done < tables.txt
クローンの配列は次のとおりです。
58 16 * * * root /bin/sh -x /backup/call_backup.sh > /backup/backup.log
/var/log/cronは次のようになります
Jul 3 16:27:01 (root) CMD (/bin/sh -x /backup/backup.sh > /backup/backup.log)
/バックアップ/backup.log
[root@ backup]# cat backup.log
Hello
この同じスクリプトを手動で実行すると正常に動作し、スクリプトに入力した他のコマンドはcronジョブで機能します。
ベストアンサー1
tables.txtパスを修正しましたが、問題はまだ存在しますが、std err 2>&1をリダイレクトした後に機能し始めました。 「警告:コマンドラインインターフェイスでパスワードを使用するのは安全ではないかもしれません」という警告メッセージの理由を見つけました。問題を起こしました。このメッセージが表示された後にmysqldumpが終了したため、エラーをリダイレクトして操作を開始しました。 mysqlを5.6にアップグレードした後、この現象が発生しました。
#!/bin/bash
echo "Hello"
while read table
do
touch sc_back/${table}.sql
/usr/bin/mysqldump -uroot -pxxxxx CMAYA_RadiusUserLogs $table > /backup /sc_back/${table}.sql
done < /backup/tables.txt