Cron'un neden işlerimi yürütmediğini nasıl öğrenebilirim?


15

Ubuntu 14.04 kullanıyorum ve cron arka plan programı çalışıyor:

# ps ax | grep cron
822 ?        Ss     0:00 cron

ancak herhangi bir iş yapmıyor. Daha önce /var/log/syslogböyle girişler alıyordu :

2014-05-04T11:47:01.839754+01:00 localhost CRON[29253]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))

ancak şimdi cron ile ilgili girişler yok. Ayrıca böyle girişler alıyordu /var/log/auth.log:

2014-05-04T11:47:01.839183+01:00 localhost CRON[29252]: pam_unix(cron:session): session opened for user root by (uid=0)
2014-05-04T11:47:13.495691+01:00 localhost CRON[29252]: pam_unix(cron:session): session closed for user root

ama yine, şimdi cron ile ilgili girişler yok.

Hiçbir şeyin değiştiğinin farkında değilim. Cron'u yeniden başlatmayı denedim:

# service cron restart
cron stop/waiting
cron start/running, process 24907

crontab -eÇalışan bir cron işi eklemek için kullanmayı denedim * * * * * date >> /tmp/somefile, ancak yeni bir crontab yükledi /var/spool/cron/crontabs/root, oysa cron dosyayı kullanmak istiyorum /etc/crontab.

Kullanabileceğim herhangi bir hata ayıklama seçeneği veya araştırabileceğim bir hata mesajı verebilecek bir yerde bir günlük var mı?


1
Ne crontab -l görüntülenir?
user345352353

no crontab for root.
jl6

Bu SE sitesinde biraz arama yaparsanız bir yanıtınız olacağına inanıyorum. Bu oldukça yaygın bir sorundur.
mdpc

crontabKomut ( -lswitch) kullanılarak alınan /etc/crontabcrons kullanıcı bağımlıdır, sistem çapında crons depolamak için kullanılır. Bu nedenle, kaydedilen görevler /etc/crontabkimsenin içinde görünmez crontab -l.
John WH Smith

Yanıtlar:


4

cronİşlerinizde neyin yanlış olduğunu ayıklamanıza yardımcı olmak için postanızı kontrol etmelisiniz. Bu genellikle /var/mail/<user_name>veya gibi bir dosyada saklanır /var/spool/mail/<user_name>.

Bu iki dosya aslında Debian kutumda hardlinks, ancak bunun standart olup olmadığını bilmiyorum.

açıklama

Sayfadan cron(8):

Komutları yürütürken, çıktılar crontab sahibine (veya varsa crontab'daki MAILTO ortam değişkeninde adlandırılan kullanıcıya) gönderilir.


Postaları kontrol ettim; hiçbiri oluşturulmuyor veya dead.letter dosyası yok.
jl6

0

Kök için crontab olmadığını gösterdiniz, herhangi bir kullanıcının crontab girişi var mı? Yalnızca root kullanıyorsanız, aşağıdaki dizinleri de kontrol edebilirsiniz: /etc/cron.daily/ - /etc/cron.hourly/ - /etc/cron.monthly/ - /etc/cron.weekly

benim makinede (centos 6.4) ietc/cron.daily/ dizini içinde mlocate.cron var ve cron bu komut dosyası günlük çalışır.

bu yüzden sadece cron işleri eklemeniz gerektiğini düşünüyorum.


Ama içinde bir crontab dosyası var /etc/crontab. Belki de soru neden crontab -lkabul etmiyor ?
jl6

0

İzinleri /etc/crontabaşağıdakilerle değiştirerek bunu çözdüm :

-rw-r--r-- 1 root root 778 May 10 21:31 /etc/crontab

Önceden öyleydi -rw-rw-r--. Tek değişiklik buydu. Çalışmıyordu, şimdi öyle. Hala neden olduğundan emin değilim.


1
Kök crontab tüm komutları root olarak yürütür. "Root" dışı yazma erişimine izin veren izinler güvenlik açığı olarak kabul edilir.
ChuckCottrill

@ChuckCottrill: Ancak grup yazma biti, kök gruptakilere yalnızca yazma erişimi verirdi - ki bu sadece kök kullanıcı (lar) dır?
jl6

0

Ben de benzer bir sorun türü vardı, ama üzerinde kullanıcı olarak kök belirttikten sonra /etc/crontab, cron işi tetiklemeye başladı.

Bunun nedeni, izlenen sözdiziminden crontab -efarklı olabilir /etc/crontab.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.