
我的 root 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 腳本中。它會導致相容性問題。