私のbashファイルは、ルートとして作成されたcronjobによって実行されません。 cronjobセットアップは次のようになります。
0 0 * * * mysql_backup.sh
bashコマンド0 0 * * * bash mysql_backup.sh
でデカールする必要がありますか?手動でbashスクリプトを手動で実行すると、機能していないSudo bash mysql_backup.sh
になります。
私はSudo crontab u root -e
を使用してcronjobを作成しており、bashファイルはcentosのルートにあります
まず、次のような完全なパスを使用する必要があります。
0 0 * * * /path/to/mysql_backup.sh
次に、スクリプトに実行権限があることを確認する必要があります。そうでない場合は、次のコマンドを使用してスクリプトを呼び出すことができます。
0 0 * * * /bin/bash /path/to/mysql_backup.sh
3番目に、十分な特権でcronジョブを実行していることを確認する必要があります。
また、スクリプトの最初の行に次のコマンドを追加することもできます。
#!/bin/bash
(bashが/ bin/bashにあると想定)。これにより、直接呼び出された場合でも、bashのパラメーターとしてではなく、bashによってスクリプトが実行されます。
ロギングを追加し、crontabログをチェックして、解決策につながる可能性のあるエラーがないかどうかを確認できます。