5
データベースバックアップ用のcronジョブを作成しようとしています。mysqldump用のcronジョブを作成する
これは私がこれまで持っているものです:私が午前問題は、ジョブがcronを経由で実行されていないです
32 18 * * * /db-backup/mysqldump.sh
か:
mysqldump.sh
mysqldump -u root -ptest --all-databases | gzip > "/db-backup/backup/backup-$(date)" 2> dump.log
echo "Finished mysqldump $(date)" >> dump.log
cronジョブ私がディレクトリにいないとき。
誰かに助言してもらえますか?私のパスは間違っていますか?
また、次の行私はdump.logに意志の出力誤差はよく分からない:
mysqldump -u root -ptest --all-databases | gzip > "/db-backup/backup/backup-$(date)" 2> dump.log
働いていた何を:
mysqldump -u root -ptest --all-databases | gzip > "../db-backup/backup/backup-$(date).sql.gz" 2> ../db-backup/dump.log
echo "Finished mysqldump $(date)" >> ../db-backup/dump.log
あなたの例が有効です。 *実行していないことを確認する方法* – hek2mgl
私がディレクトリにいて、./mysqldump.shと入力すると動作します。しかし、もし私がcd ..と言うと./db-backup/mysqldump.shとすると、ログとバックは取られません。また、上記のcronジョブは、テストするために18:32に設定されていました。 18時32分に渡されたバックアップは取られませんでした。 – Brian
ログファイルの絶対パスを使用する必要があります。 '/ var/log/mysql.dump.log'に似ています。ファイルがcronユーザーによって書き込み可能であることを確認してください。注:/ etc/crontabまたは/etc/cron.d*にリストされているジョブは、rootとして実行されます。また、ユーザーごとのcrontabメカニズムがあります。このようなcronジョブは、crontabが所属するユーザと同じ権限で実行されます。 – hek2mgl