Penjana Ungkapan Cron
Tulis dan baca jadual crontab. Masukkan ungkapan cron dan lihat dengan perkataan bila ia berjalan, masa jalan seterusnya, dan maksud setiap satu daripada lima medan itu.
Setiap minit.
Jalan seterusnya
Waktu dipaparkan mengikut zon waktu komputer anda (). Cron menggunakan zon waktu pelayan, yang selalunya tidak sama.
Jadual biasa
Pilih satu untuk memuatkannya ke medan di atas.
| * * * * * | Setiap minit |
| */5 * * * * | Setiap 5 minit |
| */15 * * * * | Setiap 15 minit |
| */30 * * * * | Setiap setengah jam |
| 0 * * * * | Setiap jam |
| 0 */2 * * * | Setiap 2 jam |
| 0 */6 * * * | Setiap 6 jam |
| 0 */12 * * * | Dua kali sehari |
| 0 0 * * * | Setiap hari tengah malam |
| 0 9 * * * | Setiap hari pukul 9 pagi |
| 0 9 * * 1-5 | Hari bekerja pukul 9 pagi |
| 0 9 * * 6,0 | Sabtu dan Ahad pukul 9 |
| 0 0 * * 1 | Setiap Isnin tengah malam |
| 0 18 * * 5 | Setiap Jumaat pukul 6 petang |
| 0 0 1 * * | Hari pertama bulan |
| 0 0 1 1 * | Hari pertama tahun |
Maksud setiap medan
| Medan | Nilai yang diterima |
|---|---|
| Minit | 0 – 59 |
| Jam | 0 – 23 |
| Hari bulan | 1 – 31 |
| Bulan | 1 – 12, JAN – DEC |
| Hari dalam minggu | 0 – 6, SUN – SAT (0 = 7) |
Aksara khas
| Aksara | Maksud |
|---|---|
| * | sebarang nilai |
| , | memisahkan nilai dalam senarai |
| - | julat nilai |
| / | langkah dalam julat |
Pintasan
| @yearly, @annually | 0 0 1 1 * |
| @monthly | 0 0 1 * * |
| @weekly | 0 0 * * 0 |
| @daily, @midnight | 0 0 * * * |
| @hourly | 0 * * * * |
| @reboot | — |
Ia bukan sebahagian daripada cron POSIX, tetapi hampir semua pelaksanaan menerimanya.
Perkara yang selalu memerangkap orang
- Apabila hari bulan dan hari dalam minggu kedua-duanya disekat, cron berjalan pada hari yang padan dengan mana-mana satu, bukan kedua-duanya. "* * 3 * 1" berjalan pada 3 haribulan dan setiap Isnin. Pengecualiannya ialah apabila salah satu bermula dengan bintang: "* * */2 * 1" hanya berjalan pada hari ganjil yang juga hari Isnin. Halaman manual tersilap tentang perkara ini.
- Jalankan pelayan, dan cron bersamanya, dalam UTC. Jadual yang ditulis dalam zon berwaktu musim panas akan terlepas satu larian sekali setahun dan mengulang satu pada pertukaran berikutnya.
- Cron standard tiada medan untuk saat mahupun tahun. Jika anda perlukan ketepatan itu, cron alat yang salah.
- Elakkan @reboot. Ia bergantung pada cara mesin dimulakan semula dan perkhidmatan mana yang sudah sedia ketika itu, jadi sukar untuk difikirkan.
- Jadual yang tidak muat dalam lima medan boleh dipecahkan kepada dua baris. Untuk menjalankan sesuatu setiap 90 minit, tulis "0 */3 * * *" dan "30 1/3 * * *" bersebelahan.
- Tulis arahan dengan laluan mutlak. Cron berjalan dengan PATH yang sangat pendek dan hampir tiada pemboleh ubah persekitaran yang ada pada shell anda.
Soalan lazim tentang ungkapan cron
Apakah maksud lima medan itu?
Mengikut susunan: minit, jam, hari bulan, bulan dan hari dalam minggu. Medan bertanda bintang padan dengan sebarang nilai.
Ahad itu 0 atau 7?
Kedua-duanya. Kebanyakan pelaksanaan menerima 0 dan 7 untuk Ahad, dan juga nama tiga huruf dari SUN hingga SAT.
Kenapa tugas saya tidak berjalan pada masa yang saya jangka?
Sebab biasa: pelayan berada di zon waktu lain, peraturan hari bulan dengan hari dalam minggu di atas, atau arahan itu gagal kerana cron tidak memuatkan profil shell anda.
Adakah halaman ini menghantar ungkapan saya ke mana-mana?
Tidak. Ungkapan dibaca dan masa larian dikira dalam pelayar anda; tiada apa-apa dimuat naik.