it-swarm-id.com

Apa sintaks yang benar untuk menjalankan cron setiap 4 jam?

Saya memiliki sintaks berikut (yang menurut saya benar?) Tetapi menjalankan perintah setiap menit!

* */4 * * * /cmd.sh
63
erotsppa
0 0,4,8,12,16,20 * * * /cmd.sh

Mungkin itulah yang akan saya lakukan. Ini akan menjalankan pekerjaan setiap 4 jam, pada jam 00:00, 04:00, 08:00 12:00, 16:00, 20:00.

Ini hanya sedikit lebih banyak cara menulis */4, tetapi harus bekerja sama.

64
phuzion

Posting asli, sebelum diedit, menunjukkan konfigurasi sebagai:

  • */4 * * * /cmd.sh

Poster itu tidak akrab dengan Markdown dan meletakkan tanda bintang di kolom pertama, menyebabkannya muncul sebagai peluru. Saya mengedit posting mereka untuk mencerminkan apa yang ingin mereka posting:

* */4 * * * /cmd.sh

Dalam konfigurasi itu poster akan mendapatkan perilaku yang mereka amati: Pekerjaan akan berjalan sekali per menit selama jam yang dibagi habis oleh 4.

Untuk menghindari berjalan satu kali per menit diperlukan nomor di kolom pertama, seperti ini:

15 * * * * whatever...

Itu akan berjalan pada menit ke 15 setelah setiap jam.

Menyatukan semua itu: Untuk menjalankan sekali per jam selama jam yang terbagi rata oleh 4 gunakan sintaks ini:

15 */4 * * * whatever...
76
Evan Anderson

Lakukan crontab -e dan kemudian tambahkan entri berikut

0 */4 * * * path_to_the_script

Ini akan skrip setiap 4 jam.

28

Masalahnya adalah * di kolom pertama

'* */2 * * */path-to-script'

ini diterjemahkan ke dalam menjalankan setiap menit dalam satu jam, tetapi hanya melakukannya setiap 2 jam

9
charlie