Yaygın hataların çoğunu ortadan kaldırmaya çalıştım,
PATH'lerin cron için hazır olmasını sağlamak
crontab dosyasının sonunda bir bitiş çizgisi var
saat dilimi şu şekilde ayarlanır:
cd /etc cp /usr/share/zoneinfo/Asia/Singapore /etc/localtime
Bash'da datekoşuyorum, anladım:
Tue Sep 17 15:14:30 SGT 2013
Cron'un aynı zamanı kullanıp kullanmadığını kontrol etmek için,
* * * * * date >> date.txt
date.txt dosyasında aynı tarih çıktısını veriyor.
Bu yürütmeye çalıştığım komut dosyası:
event.sh:
#!/usr/bin/env bash
echo data > /root/data.txt
Kullanarak crontab -e, aşağıdaki çizgi çalışır,
* * * * * /bin/bash /root/event.sh >/tmp/debug.log 2>&1
15 * * * * /bin/bash /root/event.sh >/tmp/debug.log 2>&1
Ancak, ben diğer bazı argümanlar denedim, o 2.50 de çalışmasını umuyor:
50 14 * * * /bin/bash /root/event.sh >/tmp/debug.log 2>&1
veya
50 14 * * * (cd /root ; ./event.sh >/tmp/debug.log 2>&1)
artık çalışmaz. Saat argümanımda bir sorun var gibi görünüyor. /tmp/debug.logDosyada da hiçbir şey bulunamadı .
ÇÖZÜM:
TZ'de değişiklik yaptıktan sonra cron servisini yeniden başlatmam gerektiği ortaya çıktı.
* * * * * /bin/bash /root/event.sh >/tmp/debuge.log 2>&1
* * * * * dateonaylayın date. Not crontab içinden TZ ortam değişkeni kendisi Daemon cron tarafından kullanıldığı gibi saat dilimini etkilemez olabilir, ama o olacak ben bunu geçici dışında yorum önermek istiyorum size crontab TZ değişkenine eğer öyleyse, cron ile başlatılan süreçleri etkileyecek ve bunun yerine sistem saatinin saat dilimini (Linux'u tek önyükleme yapıyorsanız, ancak yerel saat olabilir , muhtemelen UTC) kullanarak saati ayarlama .
~/event.shile denemede/home/username/event.sh