我的根 crontab 中列出了一个脚本
07 9 * * * /opt/HLRSDATA_2010_OCT/HLRS_Scheduler_sp.sh > /opt/HLRSDATA_2010_OCT/logs/HLRTKJob.log
该脚本包含以下内容
#!/bin/bash
echo HLRSData Scheduler
cd /opt/HLRSDATA_2010_OCT
/usr/bin/java -Xms32m -Xmx1024m -cp ".:HLRSDATA_Premium.jar:lib/commons-net-1.4.1.jar:lib/jakarta-oro-2.0.8.jar:lib/mysql-connector-java-3.1.12-bin.jar:lib/x
ercesImpl.jar" mx.com.txm.hlrsdata.scheduler.HLRS_Scheduler
/opt/HLRSDATA_2010_OCT/HLRS_Scheduler_Reports_sp.sh
/opt/HLRSDATA_2010_OCT/HLRS_Scheduler_Reports_Redundant_sp.sh
/opt/HLRSDATA_2010_OCT/HLRS_Delete_Data_sp.sh
/opt/HLRSDATA_2010_OCT/HLRS_Delete_Data_Redundant_sp.sh
/opt/HLRSDATA_2010_OCT/HLRS_Delete_Files.sh
脚本没有运行,我检查了 /var/log/cron,甚至没有任何痕迹表明它至少尝试运行了某些东西。
日志:
Oct 18 08:47:19 isvahlrtk01 crontab[46449]: (root) END EDIT (root)
Oct 18 08:47:22 isvahlrtk01 crontab[46455]: (root) BEGIN EDIT (root)
Oct 18 08:47:35 isvahlrtk01 crontab[46455]: (root) REPLACE (root)
Oct 18 08:47:35 isvahlrtk01 crontab[46455]: (root) END EDIT (root)
Oct 18 08:57:18 isvahlrtk01 crontab[46540]: (root) LIST (root)
Oct 18 09:00:18 isvahlrtk01 crontab[46548]: (root) LIST (root)
Oct 18 09:04:24 isvahlrtk01 crontab[46563]: (root) BEGIN EDIT (root)
Oct 18 09:04:37 isvahlrtk01 crontab[46563]: (root) REPLACE (root)
Oct 18 09:04:37 isvahlrtk01 crontab[46563]: (root) END EDIT (root)
Oct 18 09:07:46 isvahlrtk01 crontab[46578]: (root) LIST (root)
我的 crontab 末尾有一个换行符(由 crontab -e 编辑)并且没有 /etc/crontab.allow(并且 crontab.deny 为空)。
什么原因会阻止这一操作的执行?
提前致谢
答案1
检查 cron 守护程序是否正在运行
service crond status
crond (pid 23922) is running...
或者
service crond status
crond is stopped
service crond start
Starting crond: [ OK ]
答案2
确保您的脚本是可执行的。另外请先手动运行您的脚本。
chmod +x scriptname.sh
重要的是不要将扩展名 .sh 添加到您的 bash 脚本中。它会导致兼容性问题。