Langkau ke kandungan utama

Pembina Ungkapan Cron percuma

Bina, sahkan, dan jelaskan ungkapan cron untuk tugas berjadual. Penerangan bahasa biasa langsung, pratonton 5-jalankan seterusnya, dan pratetap corak biasa.

Berfungsi luar talian selepas dimuatkan
minit
(0-59)
jam
(0-23)
hari
(1-31)
bulan
(1-12)
hari bekerja
(0-7)

Dalam bahasa mudah

Pada 9:00 PG, Senin hingga Jumat.

Corak lazim

Serasi dengan cron Unix standard, GitHub Actions, Kubernetes CronJob dan kebanyakan sistem penjadualan. Gunakan * untuk „semua", */5 untuk „setiap 5", 1-5 untuk julat, 1,15 untuk nilai tertentu. Juga menerima @hourly, @daily, @weekly, @monthly, @yearly, dan nama seperti MON-FRI atau JAN-DEC.

Kegunaan biasa

  • Bina Cron untuk Aliran Kerja Tindakan GitHubTindakan GitHub menggunakan sintaks cron untuk aliran kerja yang dijadualkan. Bina dan sahkan jadual anda di sini.
  • Bina Cron untuk Kubernetes CronJobsSumber Kubernetes CronJob menggunakan sintaks cron standard. Bina dan terangkan ungkapan secara visual.
  • Bina Entri Cron untuk Linux crontabBina ungkapan untuk cron Unix tradisional (cron, crontab -e) dengan percaya diri.
  • Jadualkan Pekerjaan Penyelenggaraan Pangkalan DataJadualkan sandaran, vakum atau analisa pekerjaan dengan percaya diri menggunakan ungkapan cron.
  • Ketahui Cara Kerja Ungkapan CronSetiap pelarasan menunjukkan penjelasan bahasa Inggeris segera dan pratonton 5 larian berikutnya — cara terbaik untuk mempelajari cron.

Cara ia berfungsi

Pembina ungkapan cron berjalan sepenuhnya dalam pelayar anda menggunakan penghurai tulisan tangan dalam lib/cron.ts — tiada pustaka luaran, tiada panggilan pelayan. Ia mengesahkan ungkapan, membina penerangan bahasa Inggeris biasa menggunakan API Intl.DateTimeFormat dan Intl.ListFormat terbina dalam pelayar untuk nama hari dan bulan sedar-lokal, dan mengira masa larian berjadual seterusnya dengan berjalan ke hadapan melalui masa dengan logik langkau-medan dan bukan gagah-kasar setiap minit.

  1. 1
    Ungkapan dihurai medan-demi-medan
    Penghurai memecah ungkapan kepada lima (atau enam) medan dipisahkan-ruang-putih dan menoken setiap satu untuk koma, julat (cth. 1-5), tatatanda langkah (cth. */15), dan nilai bernama seperti MON atau JAN. @makro seperti @daily dikembangkan kepada setara lima-medannya sebelum penghuraian bermula. Nilai tidak sah atau nombor di luar julat muncul sebagai kunci ralat ditaip yang memetakan kepada mesej dilokalkan.
  2. 2
    Penerangan boleh-dibaca-manusia dibina
    describeCron() dalam lib/cron.ts membina ayat bahasa Inggeris (atau dilokalkan) dengan memeriksa medan mana kad-liar berbanding set eksplisit. Nama hari dan bulan diselesaikan melalui Intl.DateTimeFormat dengan lokal aktif, dan item senarai digabungkan menggunakan Intl.ListFormat supaya kata hubung ('dan' vs ',' vs bentuk khusus-lokal) sepadan dengan bahasa pengguna.
  3. 3
    Masa larian seterusnya dikira dengan langkau medan
    nextRuns() berjalan objek Date ke hadapan daripada saat semasa, tetapi melangkau keseluruhan bulan, hari, atau jam yang tidak boleh sepadan dan bukan menguji setiap minit. Ini bermaksud jadual mustahil seperti Feb 30 keluar dengan pantas melalui semakan jangka lima-tahun dan bukan melingkar 2.6 juta kali.
  4. 4
    Ungkapan dikongsi melalui fragmen URL
    Sebarang ungkapan yang anda taip ditulis ke fragmen URL halaman sebagai #expr= (di-debounce 500 ms melalui window.history.replaceState). Fragmen itu tidak pernah dihantar ke pelayan; halaman menghidrat daripadanya semasa dimuatkan, jadi berkongsi atau tandabuku URL memulihkan ungkapan tepat tanpa sebarang state pelayan.

Alat berkaitan

Soalan lazim