Memahami Komponen Ungkapan Cron
Penjadualan tugas dalam sistem pengendalian dan perisian pelayan sering bergantung pada ungkapan cron untuk menentukan masa pelaksanaan yang tepat. Alat Penganalisis Ungkapan Cron mengambil ungkapan cron satu baris dan memecahkannya kepada komponen individu untuk menunjukkan maksud setiap bahagian jadual tersebut.
Alat ini menyokong sintaks standard 5-medan yang terdiri daripada susunan berikut:
- Minit
- Jam
- Hari dalam bulan
- Bulan
- Hari dalam minggu
Setiap medan ini menerima nilai angka, julat, langkah, senarai, atau aksara khas yang menentukan kekerapan tugas dijalankan. Sebagai contoh, input sampel */15 9-17 * * MON-FRI menunjukkan bagaimana pelbagai format ini digabungkan dalam satu baris.
Format dan Sintaks yang Disokong
Penganalisis ini menyokong pelbagai format penulisan standard untuk memudahkan pengesahan jadual:
- Julat: Ditulis dengan tanda sempang, contohnya
1-5untuk menentukan julat nilai yang berterusan. - Langkah: Ditulis menggunakan tanda serong, contohnya
*/15untuk menunjukkan selang masa. Bagi format*/n, butiran jadual akan memaparkan terjemahan khusus seperti "Setiap{n}minit", "Setiap{n}jam", "Setiap{n}hari", "Setiap{n}bulan", atau "Setiap{n}hari" bergantung pada medan yang terlibat. - Senarai: Ditulis menggunakan koma, contohnya
1,15untuk menentukan beberapa nilai khusus. - Nama Bulan dan Hari: Menyokong singkatan nama bulan seperti
JANdan nama hari dalam minggu sepertiMON. - Pintasan: Menyokong ungkapan ringkas standard seperti
@yearly,@monthly,@weekly,@daily, dan@hourly. - Aksara Khas: Tanda bintang
*bertindak sebagai wildcard dan akan dipaparkan sebagai "Sebarang" dalam butiran jadual.
Perlu dinyatakan bahawa alat ini tidak menyokong medan keenam untuk "saat" atau sambungan khusus Quartz seperti L, W, atau #.
Peraturan Penjadualan dan Kes Khas
Dalam penulisan ungkapan cron, terdapat beberapa peraturan penting dan had logik yang perlu difahami untuk mengelakkan ralat pelaksanaan:
Interaksi Hari dalam Bulan dan Hari dalam Minggu
Apabila kedua-dua medan hari dalam bulan dan hari dalam minggu dihadkan kepada nilai tertentu (iaitu, kedua-duanya tidak menggunakan tanda *), sistem penjadualan cron menggunakan logik "ATAU". Ini bermakna padanan pada salah satu daripada medan tersebut sudah mencukupi untuk memicu pelaksanaan jadual; kedua-duanya tidak perlu sepadan secara serentak.
Jadual yang Mustahil Berlaku
Jika ungkapan cron yang dimasukkan adalah sah dari segi sintaks tetapi mewakili jadual yang tidak logik dan tidak akan pernah berlaku, alat ini akan memaparkan mesej ralat: "Jadual ini tidak akan berlaku — semak jika terdapat hari dalam bulan yang tidak wujud dalam setiap bulan yang dipilih".
Situasi ini biasanya berlaku apabila anda menetapkan hari dalam bulan pada nilai 31, manakala medan bulan mengehadkan pelaksanaan kepada bulan-bulan yang hanya mempunyai 30 hari atau kurang, seperti April, Jun, September, atau November.
Pengiraan Waktu Larian Seterusnya dan Zon Waktu
Selain memecahkan komponen ungkapan, alat ini juga mengira dan memaparkan senarai waktu larian akan datang berdasarkan nilai input "Bilangan" yang boleh dilaraskan antara 1 hingga 20.
Paparan waktu larian ini dipengaruhi oleh faktor berikut:
- Zon Waktu Tempatan: Semua waktu larian seterusnya dipaparkan dalam zon waktu tempatan penyemak imbas anda (waktu tempatan anda).
- Sifat Cron Standard: Cron standard tidak menyimpan maklumat zon waktu di dalam ungkapan itu sendiri. Pelaksanaan sebenar bergantung pada zon waktu yang digunakan oleh sistem atau pelayan yang menjalankan tugas tersebut.
Pemprosesan Tempatan untuk Privasi
Apabila anda menggunakan alat ini, keselamatan data anda terpelihara melalui kaedah pemprosesan yang digunakan:
- Pemprosesan Klien: Ungkapan cron anda dianalisis dalam penyemak imbas anda.
- Tiada Penghantaran Data: Tiada apa-apa yang dihantar ke BroBroGo. Semua logik analisis dan pengiraan waktu larian berlaku secara tempatan pada peranti anda.
Jika input dikosongkan, alat akan kembali ke keadaan sedia dengan mesej "Masukkan ungkapan cron untuk menganalisisnya". Jika terdapat ralat sintaks pada input, sistem akan memaparkan mesej "Ungkapan cron tidak sah".
Soalan Lazim (FAQ)
Apakah sintaks cron yang disokong oleh alat ini?
Cron standard 5 medan — minit, jam, hari dalam bulan, bulan, dan hari dalam minggu — termasuk julat (1-5), langkah (*/15), senarai (1,15), nama bulan dan hari (JAN, MON), serta pintasan seperti @yearly/@monthly/@weekly/@daily/@hourly. Satu peraturan yang mudah terlepas pandang: apabila kedua-dua hari dalam bulan dan hari dalam minggu dihadkan (bukan *), padanan pada salah satu daripadanya sudah mencukupi — kedua-duanya tidak perlu sepadan serentak.
Dalam zon waktu apakah waktu larian seterusnya dipaparkan?
Zon waktu tempatan penyemak imbas anda — zon waktu yang sama yang digunakan oleh jam sistem anda. Cron standard tidak membawa zon waktunya sendiri; penjadual tugas yang menjalankannya yang menentukan perkara itu, jadi anggap waktu ini sebagai pratonton jadual tempatan anda sendiri, bukan semestinya waktu pelayan.
Mengapakah ia menyatakan jadual ini tidak akan berlaku?
Biasanya disebabkan oleh nilai hari dalam bulan yang tidak wujud dalam setiap bulan yang dipilih — sebagai contoh, hari ke-31 bagi bulan April, Jun, September atau November dalam medan bulan. Pilih hari yang wujud dalam semua bulan yang anda senaraikan, atau pecahkan jadual kepada ungkapan yang berasingan.