Yeniden başlatmadan bir cron işi nasıl başlatılır?


11

offlineimapHer 2 dakikada bir aramak için bir cron işi kullanıyorum :

*/2 * * * * /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1

Bir sorunu gidermek için cron işini öldürmem gerekiyordu. Daha sonra cron işini nasıl yeniden başlatabilirim (yeniden başlatmadan)? Bu 'çözümü' çevrimiçi buldum:

mylogin@myhost:~$ sudo /etc/init.d/cron restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop cron ; start cron. The restart(8) utility is also available.
cron stop/waiting
cron start/running, process 26958

Ancak kullanarak ps -ef | grep ...işi görmüyorum ... Sorun nedir?


Hangi işi göremiyorsun?
Spack

1
Açın crontab, bu işi yorumlayın, bakımınızı yapın ve ardından açın ...
jasonwryan

Yanıtlar:


12

Cron yaklaşımı

Sudo ayrıcalıklarına sahipseniz, cron hizmetini durdurabilir / başlatabilirsiniz. Çevrimiçi olarak bulduğunuz çözümün açıkladığı şeyin bu olduğuna inanıyorum.

Hangi Linux dağıtımını kullandığınıza bağlı olarak şu komutları da yapabilirsiniz:

# redhat distros
$ sudo /etc/init.d/crond stop
... do your work ...
$ sudo /etc/init.d/crond start

Veya şu komutları yapın:

# Debian/Ubuntu distros
$ sudo service cron stop
... do your work ...
$ sudo service cron start

Kilit dosya türü yaklaşımı

Ayrıca, offlineimap görevinin biraz beklemesini ve çalışmamasını istediğinizde, "ttr dizinine" dontrunofflineimap "dosyasını koyabilirsiniz.

Süreç böyle işleyecekti. / Tmp içindeki bir dosyaya şöyle dokunun:

touch /tmp/dontrunofflineimap

Cron işi şu şekilde değiştirilebilir:

*/2 * * * * [ -f /tmp/dontrunofflineimap ] || /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1

Bu dosya mevcut olsa da, offlineimapuygulamanın çalışmasını engeller . Devam etmesini istediğinizde /tmp/dontrunofflineimapdosyayı silmeniz yeterlidir .


4

Başka bir çözüm, crontab'ı düzenlemek ve işi devre dışı bırakmak için yorum yapmaktır. cronDiğer işleri planlamak da biraz daha hoş .

Aşağıdaki komut yardımcı olur:

crontab -e

Kullanıcının değil kök dizini ise:

sudo crontab -e

#İşe yorum yapmak için satırın başına a ekleyin . Bunun gibi:

# */2 * * * * /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1

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.