このチュートリアルを使用してcronjobを作成しました: http://www.matt-helps.com/automatic-backup-of-mysql-database-to-s3/
このコマンドを実行すると動作しますSudo sh s3BucketBackupScript.sh
しかし、Cronで構成すると、正しく実行できません。スクリプトは+ xで変更されます。
次のように、Sudo crontab -eを使用して構成しました。
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
* * * * * /bin/sh /home/ubuntu/s3BucketBackupScript.sh
しかし結果はありません。 .sh行の後に空の行があると思います。 Sudoを使用せずにスクリプトを実行すると、何も生成されないため、Sudo crontab -e
に追加しました。
ヒントは大歓迎です。
ファイル/etc/cron.allow
でcronの実行をユーザーに許可する許可を確認してください。サーバー上にない場合は、次の行を作成して追加できます。
## [root@test]# cat /etc/cron.allow
root
deploy
Ok行を追加したら、次のコマンドでcrondを再起動できます。
[root@test test]# service crond restart
変更後にコマンドを実行しない場合は、ユーザールートを使用してcrontab -e
のコマンド例を追加できます。
* * * * * su - [user you must run command] -c "/bin/sh /home/ubuntu/s3BucketBackupScript.sh"
コマンドokを追加します。コマンド[root@test test]# service crond restart
でcrondを再起動する必要があります。
Crontabでコマンドを実行するのに役立つかもしれません。
S3BucketBackupScript.shスクリプトを確認し、相対パスが指定されていないことを確認してください。
個々のユーザーのCRONは、ユーザーのホームディレクトリをPWD
として設定します。
これは、相対パスを正しく解釈するために正確なディレクトリにいたため、ターミナルから手動で機能する場合があります。