Baru-baru ini ditunjukkan kepada saya bahwa ada alternatif untuk cron, yaitu timer sistemd.
Namun, saya tidak tahu apa-apa tentang timer systemd atau systemd. Saya hanya menggunakan cron.
Ada sedikit diskusi di Arch Wiki . Namun, saya mencari perbandingan terperinci antara cron
dan timer sistemd, dengan fokus pada pro dan kontra. Saya menggunakan Debian, tetapi saya ingin perbandingan umum untuk semua sistem yang tersedia dua alternatif ini. Set ini hanya mencakup distribusi Linux.
Inilah yang saya tahu.
Cron sudah sangat tua, kembali ke akhir 1970-an. Penulis asli cron adalah Ken Thompson, pencipta Unix. Vixie cron, yang crons dalam distribusi Linux modern adalah keturunan langsung, berasal dari tahun 1987.
Systemd jauh lebih baru, dan agak kontroversial. Wikipedia memberi tahu saya bahwa rilis awalnya adalah 30 Maret 2010.
Jadi, daftar kelebihan cron saya saat ini tentang timer sistemd adalah:
Cron dijamin berada dalam sistem seperti Unix, dalam arti sebagai bagian perangkat lunak yang dapat diinstal yang dapat diinstal. Itu tidak akan berubah. Sebaliknya, systemd mungkin atau mungkin tidak tetap dalam distribusi Linux di masa depan. Ini terutama merupakan sistem init, dan dapat digantikan oleh sistem init yang berbeda.
Cron mudah digunakan. Jelas lebih sederhana dari timer systemd.
Daftar keuntungan yang sesuai dari timer sistemd atas cron adalah:
- Pengatur waktu Systemd mungkin lebih fleksibel dan mampu. Tapi saya ingin contoh itu.
Jadi, untuk meringkas, berikut adalah beberapa hal yang baik untuk dilihat dalam sebuah jawaban:
- Perbandingan rinci tentang timer cron vs systemd, termasuk pro dan kontra dari penggunaan masing-masing.
- Contoh-contoh hal yang dapat dilakukan seseorang, yang lain tidak
- Setidaknya satu perbandingan sisi-sisi dari skrip cron vs skrip pengatur waktu systemd.
sumber
Jawaban:
Inilah beberapa poin tentang keduanya :
memeriksa apa pekerjaan cron Anda benar-benar dapat menjadi berantakan, tetapi semua acara pengatur waktu systemd dicatat dengan cermat di jurnal systemd seperti unit systemd lainnya berdasarkan peristiwa yang membuat segalanya lebih mudah.
pengatur waktu systemd adalah layanan systemd dengan semua kemampuannya untuk manajemen sumber daya, penjadwalan IO CPU, ...
Ada daftar:
dengan opsi dependensi sama seperti layanan systemd lainnya, mungkin ada dependensi pada waktu aktivasi.
Unit dapat diaktifkan dengan cara yang berbeda, juga kombinasi dari mereka dapat dikonfigurasi. layanan dapat dimulai dan dipicu oleh berbagai peristiwa seperti pengguna, boot, perubahan status perangkat keras atau misalnya 5 menit setelah beberapa perangkat keras dicolokkan dan, ...
konfigurasi jauh lebih mudah beberapa file dan tag lurus ke depan untuk melakukan berbagai penyesuaian berdasarkan kebutuhan Anda dengan timer sistemd.
Mudah mengaktifkan / menonaktifkan semuanya dengan:
dan bunuh semua anak pekerjaan dengan:
timer systemd dapat dijadwalkan dengan kalender dan waktu monoton, yang dapat sangat berguna dalam kasus zona waktu yang berbeda dan, ...
systemd time events (kalender) lebih akurat daripada cron (sepertinya presisi 1s)
peristiwa sistemd waktu lebih bermakna, bagi yang berulang atau bahkan yang harus terjadi sekali, berikut adalah contoh dari dokumen :
Dari sudut pandang penggunaan CPU, systemd timer membangunkan CPU pada waktu yang telah berlalu tetapi cron melakukannya lebih sering.
Acara pengatur waktu dapat dijadwalkan berdasarkan waktu selesai eksekusi, beberapa penundaan dapat diatur di antara eksekusi.
Komunikasi dengan program lain juga penting kadang-kadang diperlukan untuk beberapa program lain untuk mengetahui timer dan keadaan tugas mereka.
sumber
man systemd.time
yang tampaknya bertentangan: Zona waktu non-lokal kecuali untuk UTC tidak didukung.Langsung dari mulut kuda, bisa dikatakan: https://wiki.archlinux.org/index.php/Systemd/Timers#As_a_cron_replacement
Kutipan dari halaman di atas:
sumber