我的bash文件不是由作为root创build的cronjob执行的。 cronjob设置看起来如下
0 0 * * * mysql_backup.sh
需要使用bash命令进行decalared 0 0 * * * bash mysql_backup.sh
? 如果我手动执行手动我的bash脚本sudo bash mysql_backup.sh
比它的工作。
我一直在使用sudo crontab u root -e
创buildcronjob,并且bash文件位于centos的根目录下
首先,您需要使用完整path,如:
0 0 * * * /path/to/mysql_backup.sh
其次,您需要确保您的脚本具有执行权限,或者您可以使用以下方法调用它:
0 0 * * * /bin/bash /path/to/mysql_backup.sh
第三,你需要确保你正在以足够的权限执行你的cron作业。
另外,您可以在脚本的第一行添加以下命令:
#!/bin/bash
(假设bash位于/ bin / bash中)。 这将使你的脚本运行,即使直接调用bash,而不是作为bash的参数。
您可以添加一些日志logging,并检查您的crontab日志,看是否有任何错误,可能导致您的解决scheme。