Cron Job Çalışmıyor mu?

19

Şunun gibi görünen bir crontab dosyası var:

* * * * * /home/abliskovs/update/update.sh

Ancak, işin yürüttüğüne dair kanıt için syslog'u kontrol ettiğimde, hiç kaçmadığını gösterebilecek hiçbir şey yok. Çalışıyorsa nasıl kontrol edebilirim?

crontab -l aşağıdaki çıktılar:

* * * * * /home/abliskovs/update/update.sh

    
sordu Alex Bliskovsky 06.01.2012 15:52

3 cevap

18
  

Crontab girişinizin sonuna bir & gt; /tmp/testlog.log ekleyin (yönlendirmek için   çalışıp çalışmadığınızı kontrol edebileceğiniz bir dosyaya vermeniz,   ek olarak 2 & gt; amp; 1, hata konsolundan çıkış içerir)

Örnek

  

0 * * * * /home/abliskovs/update/update.sh 2 & gt; & 1; /tmp/testlog.log

Ayrıca emin olun:

  • Doğru bir şekilde cronjobs ekleyin. crontab -e'yi kendi hesabınızda kullandıysanız, komut dosyaları kullanıcılarınızla (ve dolayısıyla crontab girdisi bir alandan daha az - bunu çalıştırmak için kullanıcı, olduğu gibi bilinen). Yukarıda basitçe kopyaladığınız /etc/cron.d kopyaladıysanız, Bir kullanıcı belirtmediğinizde başarısız olur (ya da kullanıcı "bash").
  • Komut dosyasının yürütülebilir olduğundan emin olun, aksi halde olmaz yürüt.
  • Cron işlerini yeniden yükleyin sudo service reload veya cron hizmetini yeniden başlatın sudo /etc/init.d/cron restart

Dosya yürütülebilir hale nasıl getirilir?

Dosyalarınızı yürütülebilir hale getirmenin çeşitli yolları

chmod +x /home/abliskovs/update/update.sh 

chmod -R 0755 /home/abliskovs/update/update.sh

chmod a+x /home/abliskovs/update/update.sh
    
verilen cevap Md Mahbubur Rahman 11.11.2012 05:06
3

Komut dosyası dosyasının çalıştırılabilir olduğundan emin olun {chmod 755} aksi halde yürütmeyecek

    
verilen cevap user25 19.01.2012 23:34
0

update.sh kabuk betiği muhtemelen hata içerir, örneğin komut bulunamadığından çalıştırılamayan bazı komutlar. Bu durumda, komutunuza PATH değişkenindeki yolu eklemek veya doğrudan komutunuzun önüne eklemek yardımcı olabilir. Ayrıca, MAILTO e-Mail adresinin belirlenmesine yardımcı olur, Cronjobs'u çalıştırmanın sonucu olan e-postalar bu adrese gönderilir

PATH=/path/to/your/command:/another/important/path
[email protected]_domain 

Ayrıca, yerel posta kutusunu mail ve syslog dosyasını /var/log/syslog olarak hatalar için de kontrol edebilirsiniz. Ayrıca bu soruya cronjobs neden çalışmayabilir 'e bakın.

    
verilen cevap 0x4a6f4672 22.11.2012 12:05

Etiketlerdeki diğer soruları oku