Bagaimana menjalankan pekerjaan crontab setiap minggu pada hari Minggu


263

Saya mencoba mencari cara menjalankan pekerjaan crontab setiap minggu pada hari Minggu. Saya pikir yang berikut ini harus bekerja, tetapi saya tidak yakin apakah saya mengerti dengan benar. Apakah yang berikut ini benar?

5 8 * * 6

7
Pertanyaannya adalah tentang 'minggu' tetapi jawaban yang diterima adalah tentang 'hari Sabtu'. ¿?
inigomedina

11
Gunakan https://crontab.guru/ situs untuk membuat ekspresi cron.
nbi

Jawaban:


481

Berikut ini penjelasan tentang format crontab.

# 1. Entry: Minute when the process will be started [0-60]
# 2. Entry: Hour when the process will be started [0-23]
# 3. Entry: Day of the month when the process will be started [1-28/29/30/31]
# 4. Entry: Month of the year when the process will be started [1-12]
# 5. Entry: Weekday when the process will be started [0-6] [0 is Sunday]
#
# all x min = */x

Jadi menurut ini Anda 5 8 * * 0akan menjalankan 8:05 setiap hari Minggu.


148
Agar lebih mudah dibaca, Anda dapat menggunakan salah satunya sun, mon, tue, wed, thu, fri, or satuntuk hari itu. Ini juga menyelamatkan Anda dari keharusan memilih antara menggunakan 0atau 7untuk hari Minggu.
Flu

193

Untuk menjalankan cron pada hari Minggu, Anda dapat menggunakan salah satu dari ini:

5 8 * * 0
5 8 * * 7
5 8 * * Sun

Di mana 5 8berdiri untuk waktu hari ketika ini akan terjadi: 8:05.

Secara umum, jika Anda ingin mengeksekusi sesuatu pada hari Minggu, pastikan kolom ke-5 berisi 0, 7atau Sun. Anda punya 6, jadi itu berjalan pada hari Sabtu.

Format untuk cronjobs adalah:

 +---------------- minute (0 - 59)
 |  +------------- hour (0 - 23)
 |  |  +---------- day of month (1 - 31)
 |  |  |  +------- month (1 - 12)
 |  |  |  |  +---- day of week (0 - 6) (Sunday=0 or 7)
 |  |  |  |  |
 *  *  *  *  *  command to be executed

Anda selalu dapat menggunakan crontab.guru sebagai editor untuk memeriksa ekspresi cron Anda.


14
Hanya untuk membantu orang lain menghindari kesalahan konyol yang baru saja saya buat, dan pastikan Anda menetapkan menit ke sesuatu selain * atau itu akan dieksekusi pada setiap menit dari jam itu!
user2924019

40

Berikut ini adalah format file crontab.

{menit} {jam} {hari-bulan} {bulan} {hari-dalam-minggu} {pengguna} {path-to-shell-script}

Jadi, untuk menjalankan setiap minggu pada tengah malam (Minggu adalah 0 biasanya, 7 dalam beberapa kasus yang jarang terjadi):

0 0 * * 0 root /path_to_command

1
Memilih untuk menyebutkan cara menentukan perintah untuk dijalankan setiap kali. (Namun demikian, kolom pengguna harus dihilangkan ketika mengedit melalui perintah "crontab".)
Joachim Wagner

1
Minggu tengah malam adalah jam 0 Senin, yaitu 0 0 * * 1.
Fred Loney

5

Saat menentukan nilai cron Anda, Anda harus memastikan bahwa nilai Anda berada dalam rentang. Misalnya, beberapa cron menggunakan rentang 0-7 untuk hari dalam seminggu di mana 0 dan 7 mewakili hari Minggu. Kami tidak (periksa di bawah).

Seconds: 0-59
Minutes: 0-59
Hours: 0-23
Day of Month: 1-31
Months: 0-11
Day of Week: 0-6

referensi: https://github.com/ncb000gt/node-cron


3
"kami" ... siapa? program dan versi yang mana?
Massimo

Langsung dari tautan: D
Mendon Ashwini

2

Ekspresi pekerjaan Cron dengan cara yang mudah dibaca pembangun manusia crontab


1
Imho, ini bukan jawaban karena tidak menambahkan apa pun di sini, juga tidak menjawab pertanyaan di sini dengan cara apa pun.
Pankaj


0

10 * * * Matahari

Position 1 for minutes, allowed values are 1-60
position 2 for hours, allowed values are 1-24
position 3 for day of month ,allowed values are 1-31
position 4 for month ,allowed values are 1-12 
position 5 for day of week ,allowed values are 1-7 or and the day starts at Monday. 

2
Selamat atas jawaban pertama Anda di StackOverflow! Pastikan untuk memeriksa Panduan Menjawab . Misalnya, jawaban biasanya memiliki beberapa informasi baru yang hilang dalam jawaban yang ada.
doz10us

7
ini akan berjalan 24 kali pada hari Minggu, 10 menit melewati jam setiap jam.
Jens Timmerman


0
* * * * 0 

you can use above cron job to run on every week on sunday, but in addition on what time you want to run this job for that you can follow below concept :

* * * * *  Command_to_execute
- � � � -
| | | | |
| | | | +�� Day of week (0�6) (Sunday=0) or Sun, Mon, Tue,...
| | | +���- Month (1�12) or Jan, Feb,...
| | +����-� Day of month (1�31)
| +������� Hour (0�23)
+��������- Minute (0�59)
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.