Bagaimana cara memulai pekerjaan cron tanpa reboot?


11

Saya menggunakan pekerjaan cron untuk menelepon offlineimapsetiap 2 menit:

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

Saya perlu membunuh pekerjaan cron untuk memperbaiki masalah. Bagaimana saya bisa memulai kembali pekerjaan cron (tanpa me-reboot)? Saya menemukan 'solusi' ini online:

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

Namun, menggunakan ps -ef | grep ..., saya tidak melihat pekerjaan ... Apa yang salah?


Pekerjaan mana yang tidak bisa Anda lihat?
Spack

1
Buka crontab, komentari pekerjaan itu, lakukan pemeliharaan, lalu batalkan komentar ...
jasonwryan

Jawaban:


12

Pendekatan cron

Jika Anda memiliki hak sudo, Anda dapat menghentikan / memulai layanan cron. Saya percaya itulah yang dijelaskan oleh solusi yang Anda temukan online.

Bergantung pada distro Linux yang Anda gunakan, Anda dapat melakukan perintah ini:

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

Atau lakukan perintah ini:

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

Pendekatan tipe file kunci

Anda juga bisa meletakkan file "dontrunofflineimap" di direktori katakan / tmp ketika Anda ingin tugas offlineimap tertunda dan tidak berjalan sedikit.

Prosesnya akan bekerja seperti ini. Anda menyentuh file di / tmp seperti itu:

touch /tmp/dontrunofflineimap

Pekerjaan cron akan dimodifikasi seperti ini:

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

Meskipun file itu ada, pada dasarnya ia akan memblokir offlineimapaplikasi agar tidak berjalan. Saat Anda ingin melanjutkan, cukup hapus /tmp/dontrunofflineimapfile.


4

Solusi lain adalah mengedit crontab dan mengomentari pekerjaan untuk menonaktifkannya. Itu sedikit lebih baik karena cronmungkin menjadwalkan pekerjaan lain juga.

Perintah berikut membantu:

crontab -e

Jika crontab root dan bukan pengguna:

sudo crontab -e

Untuk mengomentari pekerjaan, tambahkan #di awal baris. Seperti ini:

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.