Penjana Ungkapan Cron

Bina jadual cron medan demi medan, lihat maksudnya dalam bahasa mudah, dan salin baris crontab — atau pilih contoh biasa untuk mula.

Setiap 5 minit.
Contoh Biasa

Bina Ungkapan Cron Serta-merta

Tetapkan setiap medan — minit, jam, hari dalam bulan, bulan dan hari minggu — dan dapatkan baris crontab yang sedia digunakan berserta penjelasan bahasa mudah.

Semuanya berjalan terus dalam pelayar anda — tiada data dihantar ke mana-mana, dan tiada jadual disimpan.

Apakah Ungkapan Cron?

Ungkapan cron adalah corak lima medan yang digunakan oleh sistem seperti Unix untuk menjadualkan arahan supaya berjalan secara automatik pada masa, tarikh atau selang waktu yang ditetapkan.

Setiap medan mengawal unit masa yang berbeza — minit, jam, hari dalam bulan, bulan dan hari dalam minggu — dan secara bersama ia menentukan dengan tepat bila sesuatu tugas harus berjalan.

Sintaks Medan Cron

Minit 0–59
Jam 0–23
Hari dalam bulan 1–31
Bulan 1–12
Hari dalam minggu 0–6 (0 = Ahad)

Aksara Khas

* Sebarang nilai — sepadan dengan semua nilai yang mungkin untuk medan itu
, Pemisah senarai nilai — cth. 1,15 bermaksud hari ke-1 dan ke-15
- Julat nilai — cth. 1-5 bermaksud Isnin hingga Jumaat
/ Nilai langkah — cth. */15 bermaksud setiap 15 unit

Mengapa Menggunakan Penjana Cron?

  • Elakkan kesilapan sintaks yang boleh merosakkan tugas berjadual tanpa disedari
  • Lihat penjelasan bahasa mudah sebelum menggunakan jadual
  • Mula daripada contoh biasa berbanding menulis dari awal
  • Dapatkan baris crontab yang sedia ditampal, dengan arahan pilihan
  • Tidak memerlukan pemasangan atau akaun

Cara Membina Ungkapan Cron

  1. Tetapkan medan minit, jam, hari, bulan dan hari minggu — atau pilih contoh biasa
  2. Tambah arahan yang anda mahu jalankan (pilihan)
  3. Semak penjelasan bahasa mudah untuk memastikan jadual itu betul
  4. Salin baris crontab dan tampalkannya ke dalam fail crontab anda

Amalan Terbaik Cron

Lebih baik gunakan masa tertentu berbanding jadual yang terlalu kerap — menjalankan tugas setiap minit sedangkan setiap 5 atau 15 minit sudah mencukupi hanya membazirkan sumber.

Apabila sesuatu tugas bergantung kepada hari dalam bulan dan hari dalam minggu sekali gus, ingat bahawa kebanyakan pelaksanaan cron menganggap kedua-dua medan itu sebagai OR, bukan AND.

Sentiasa log output tugas berjadual (cth. alihkan ke fail) supaya kegagalan tidak terlepas pandang.

Kegunaan Biasa

  • Sandaran pangkalan data automatik
  • Putaran log dan tugas pembersihan
  • Penjanaan laporan berjadual
  • Pemanasan atau pembatalan cache
  • Menghantar ringkasan e-mel secara berkala
  • Penyegerakan data antara sistem
  • Semakan kesihatan dan ping pemantauan
  • Pembaharuan sijil atau token

Soalan Lazim

Zon masa apakah yang digunakan oleh tugas cron?

Secara lalai, cron menggunakan zon masa tempatan sistem. Sesetengah platform membolehkan anda menetapkan zon masa tertentu bagi setiap tugas atau setiap crontab — semak dokumentasi sistem anda.

Bolehkah ungkapan cron menyertakan saat?

Cron Unix standard hanya menyokong lima medan (minit dan seterusnya), tanpa medan saat. Sesetengah penjadual, seperti Quartz, menyokong medan saat sebagai pilihan, tetapi itu adalah format yang berbeza.

Apa yang berlaku jika saya tetapkan hari dalam bulan dan hari dalam minggu sekali gus?

Kebanyakan pelaksanaan cron menjalankan tugas jika salah satu syarat dipenuhi (OR, bukan AND). Untuk menjalankan tugas hanya pada tarikh tertentu yang juga jatuh pada hari minggu tertentu, anda biasanya memerlukan logik tambahan dalam skrip itu sendiri.

Bagaimana saya boleh menguji ungkapan cron sebelum menggunakannya?

Semak penjelasan bahasa mudah yang dipaparkan di sini untuk memastikan ia sepadan dengan niat anda, kemudian sahkan pada sistem sebenar anda dengan jadual ujian jangka pendek sebelum menggunakannya dalam pengeluaran.

Patutkah saya guna cron atau pemasa systemd?

Cron adalah mudah dan berfungsi di mana-mana, menjadikannya sesuai untuk tugas berulang yang mudah. Pemasa systemd menawarkan kawalan yang lebih lengkap (kebergantungan, log, pengendalian tugas yang tertinggal) dan merupakan pilihan yang baik pada sistem yang sudah menggunakan systemd.

ATAS