我通过输入crontab -e在ubuntu环境中为root用户设置了cronjob
34 11 * * * sh /srv/www/live/CronJobs/daily.sh
0 08 * * 2 sh /srv/www/live/CronJobs/weekly.sh
0 08 1 * * sh /srv/www/live/CronJobs/monthly.sh
Run Code Online (Sandbox Code Playgroud)
但是cronjon不会跑.我已经尝试检查cronjob是否正在运行
pgrep cron
并提供进程ID 3033. shell脚本调用python文件,用于发送电子邮件.运行python文件是可以的.它没有错误,但是cron没有运行.daily.sh文件中包含以下代码.
python /srv/www/live/CronJobs/daily.py
python /srv/www/live/CronJobs/notification_email.py
python /srv/www/live/CronJobs/log_kpi.py
Run Code Online (Sandbox Code Playgroud) 以下工作正常从命令行
/usr/bin/mysqldump -uUser -pPass Db_name > /var/www/db_backup/db.`date +%Y%m%d%H%M`.sql
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在cron中执行此操作时,我收到错误:
bad ` sign
errors in crontab file, can't install
Run Code Online (Sandbox Code Playgroud)
我看到网络上的其他人通过逃避百分号来解决同样的问题,但这没有帮助,我尝试了只在反引号内的日期,没有格式说明符,仍然有错误.
我也看到日期的参数用单引号或双引号括起来,但这也无济于事.
当然,我可以把它扔进一个脚本并执行我想的 - 但那有什么乐趣?
有任何想法吗?我正在使用RHEL 5.