
Ich habe ein Skript in meiner Root-Crontab aufgelistet
07 9 * * * /opt/HLRSDATA_2010_OCT/HLRS_Scheduler_sp.sh > /opt/HLRSDATA_2010_OCT/logs/HLRTKJob.log
Dieses Skript enthält Folgendes
#!/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
Das Skript wird nicht ausgeführt. Ich habe in /var/log/cron nachgeschaut und es gibt nicht einmal eine Spur davon, dass es zumindest VERSUCHT hat, etwas auszuführen.
Protokoll:
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)
Am Ende meiner Crontab befindet sich eine neue Zeile (bearbeitet mit crontab -e) und es gibt kein /etc/crontab.allow (und crontab.deny ist leer).
Was könnte die Ausführung verhindern?
Dank im Voraus
Antwort1
Überprüfen Sie, ob der Cron-Daemon ausgeführt wird
service crond status
crond (pid 23922) is running...
oder
service crond status
crond is stopped
service crond start
Starting crond: [ OK ]
Antwort2
Stellen Sie sicher, dass Ihr Skript ausführbar ist. Führen Sie Ihr Skript auch zuerst manuell aus.
chmod +x scriptname.sh
Es ist wichtig, dass Sie Ihrem Bash-Skript nicht die Erweiterung .sh hinzufügen. Dies führt zu Kompatibilitätsproblemen.