Cara menjalankan cron sekali, setiap hari jam 10 malam

178

Saya telah masuk:

* 22 * * * test > /dev/null

Namun, saya diberitahu melalui email bahwa ini berjalan setiap menit. Saya bingung saya kira karena saya pikir ini benar untuk apa yang saya inginkan.

Benjamin
sumber
3
Situs web ini akan menjelaskan setiap jadwal cron: crontab.guru
Bruno Finger

Jawaban:

369

Ini berjalan setiap menit dari jam 22 kurasa. Coba yang berikut ini untuk menjalankannya setiap menit pertama jam 22:

0 22 * * * ....
Marc Simon
sumber
Meskipun jam 22 mungkin relatif hemat, pertimbangkan kasus pertama dari pertanyaan ini
Martin Thoma
@ MartinThoma selalu mencoba man crondulu, Anda harus menemukan apa yang Anda cari.
Marc Simon
Ingat untuk memeriksa tanggal sistem, kebetulan saya mengatur crontab untuk memulai pekerjaan pada 22, tetapi sebenarnya dimulai pada 23 karena sistemnya UTC (jadi 22 untuk sistem itu 23 bagi saya dalam GMT).
nnsense
Saya membatalkan jawaban ini tetapi saya tahu aturan ini ... lagi pula saya ingin mengkonfirmasi pengetahuan diam saya: D
rnrneverdies
154

Berikut ini beberapa contoh lainnya

  • Jalankan setiap 6 jam pada 46 menit melewati jam:

    46 */6 * * *

  • Jalankan pukul 2:10 pagi:

    10 2 * * *

  • Jalankan pada 3:15 pagi:

    15 3 * * *

  • Jalankan pada 4:20 pagi:

    20 4 * * *

  • Jalankan pada 5:31 pagi:

    31 5 * * *

  • Jalankan pada 17:31:

    31 17 * * *

Abdalla Mohamed Aly Ibrahim
sumber
25

Inilah yang saya lihat setiap kali saya menulis entri crontab baru:

Untuk mulai mengedit dari terminal -type:

 zee$ crontab -e

apa yang akan Anda tambahkan ke file crontab:

0 22 * * 0  some-user /opt/somescript/to/run.sh

Apa artinya:

[ 
+ user => 'some-user',      
+ minute => 0’,             <<= on top of the hour.
+ hour => '22',              <<= at 10 PM. Military time.
+ monthday => '*',           <<= Every day of the month*
+ month => '*',              <<= Every month*
+ weekday => ‘*’,            <<= Everyday (0 thru 6) = sunday thru saturday
] 

Juga, periksa apa shell mesin Anda berjalan dan beri nama file sesuai ATAU itu tidak akan dijalankan.

Periksa shell dengan salah satu echo $SHELLatauecho $0

Bisa jadi "Bourne shell (sh), Bourne lagi shell (bash), Korn shell (ksh)..etc"

zee
sumber
1

Sintaks untuk crontab

* * * * * 

Minute(0-59) Hour(0-24) Day_of_month(1-31) Month(1-12) Day_of_week(0-6) Command_to_execute

Sintaks Anda

* 22 * * * test > /dev/null

pekerjaan Anda akan Jalankan setiap menit pada jam 22:00 sepanjang minggu, bulan dan tahun.

menambahkan opsi (0-59) pada menit tempat akan menjalankannya sekali pada pukul 22:00 sepanjang minggu, bulan dan tahun.

0 22 * * * command_to_execute 

Sumber https://www.adminschoice.com/crontab-quick-reference

Magesh Somasundaram
sumber