0

PHP アプリケーションを介して定期的な mysql ダンプをスケジュールするオプションを提供しました。Crontab は、ユーザー「www-data」に対して次のように設定されています。

1 * * * * mysqldump --user=root --password=1 --host=localhost dbname > /var/www/myapp/../backups/db_`date '+%F-%H-%M-%S'`.sql

するとcrontab -u www-data -l、上記のcronが表示されます。

問題は、この cron が実行されていないことです。1分ごとに実行する必要がありますよね?/var/wwwまた、777 としてパーミッションを設定しました。それでも、ファイルは作成されません。

mysqldump --user=root --password=1 --host=localhost dbname > /var/www/myapp/../backups/db_`date '+%F-%H-%M-%S'`.sql

ターミナルでこれを入力すると、ファイルが正常に作成されます。問題はcronジョブのみにあります。助けてください。

アップデート

に変更しました

* * * * * mysqldump --user=root --password=1 --host=localhost dbname > /var/www/myapp/../backups/db_`date '+%F-%H-%M-%S'`.sql

今でも機能していません

4

2 に答える 2

1

crontab には、通常のシェルにあるすべての環境変数がない場合があります。

mysqldump の場所がわからない可能性があります。次のように、コマンドへのフル パスを指定してみてください。

* * * * * /usr/bin/mysqldump --user=root --password=1 --host=localhost dbname > /var/www/myapp/../backups/db_`date '+%F-%H-%M-%S'`.sql
于 2012-10-05T12:39:57.173 に答える
0

リストしたcronは、毎時1分に実行する必要があります。

私は単純なPythonスクリプトで同様のことをします:

import os
os.system('dump command for database1')
os.system('dump command for database2')

それは私のためにすべてを整理してくれます。cronジョブでスクリプトを実行します。

1 * * * * python /path/to/script
于 2012-10-05T05:01:02.513 に答える