Cron adalah daemon penjadwalan yang memungkinkan Anda menjadwalkan eksekusi tugas pada interval tertentu. Tugas ini disebut tugas cron dan dapat dijadwalkan untuk dijalankan menurut menit, jam, hari dalam sebulan, bulan, hari dalam seminggu, atau kombinasi dari semuanya.
Pekerjaan Cron biasanya digunakan untuk melakukan operasi pemeliharaan sistem. Misalnya, tugas cron dapat diatur untuk mengotomatiskan tugas berulang seperti mencadangkan database, memperbarui sistem dengan patch keamanan terbaru, membersihkan cache, mengirim email, dan sebagainya.
Artikel ini menjelaskan cara membuat daftar tugas cron.
Mencantumkan Pekerjaan Cron Pengguna #
File crontab pengguna diberi nama berdasarkan nama pengguna, dan lokasinya bervariasi menurut sistem operasi. Dalam distribusi berbasis Red Hat seperti CentOS, file crontab disimpan di /var/spool/cron
direktori, sedangkan di Debian dan Ubuntu file disimpan di /var/spool/cron/crontabs
direktori.
Untuk mendapatkan daftar semua tugas cron untuk pengguna yang saat ini Anda masuki, gunakan crontab
perintah:
crontab -l
Jika pengguna telah mengatur pekerjaan cron, konten crontab pengguna akan ditampilkan di layar. Jika tidak, perintah akan mencetak no crontab for <username>
.
Untuk membuat daftar tugas cron pengguna lain, gunakan -u
opsi untuk menentukan nama pengguna di akhir perintah. Misalnya, untuk membuat daftar tugas cron dari pengguna bernama "tandai", Anda akan menggunakan:
sudo crontab -u mark -l
Setiap file crontab pengguna memiliki 600
izin dan dimiliki oleh pengguna. Hanya root dan pengguna dengan sudo
hak istimewa dapat melihat tugas cron pengguna lain.
Untuk mengetahui pengguna mana yang telah membuat tugas cron, buat daftar konten spool
direktori sebagai root atau pengguna sudo:
sudo ls -1 /var/spool/cron/crontabs
Outputnya akan terlihat seperti ini:
root
mark
Mencantumkan Pekerjaan Cron Sistem #
/etc/crontab
dan file di dalam /etc/cron.d
direktori adalah file crontab seluruh sistem yang hanya dapat diedit oleh administrator sistem.
Gunakan cat
, less
atau editor teks apa pun untuk melihat konten file:
cat /etc/crontab /etc/cron.d/*
Di sebagian besar distribusi Linux, Anda juga dapat meletakkan skrip di dalam /etc/cron.{hourly,daily,weekly,monthly}
direktori, dan skrip dieksekusi setiap hour/day/week/month
.
Setiap skrip di dalam direktori ini harus memiliki izin eksekusi. Jika tidak, tugas cron tidak akan dijalankan.
Misalnya, untuk melihat semua pekerjaan cron mingguan, Anda harus mengetik:
ls -l /etc/cron.weekly/
-rwxr-xr-x 1 root root 813 Feb 10 2019 man-db
Jika output kosong, berarti tidak ada pekerjaan cron mingguan.
Pengatur Waktu Sistem #
Pengatur waktu sistemadalah file unit yang diakhiri dengan *.timer
akhiran dan memungkinkan Anda untuk menjalankan unit layanan berdasarkan waktu.
Pada distribusi Linux yang menggunakan systemd sebagai sistem init, timer digunakan sebagai alternatif daemon cron standar.
Untuk melihat daftar semua timer systemd di mesin Anda, jalankan perintah berikut:
systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
Sun 2020-02-16 00:00:00 UTC 1h 53min left Sat 2020-02-15 17:04:11 UTC 5h 2min ago logrotate.timer logrotate.service
Sun 2020-02-16 00:00:00 UTC 1h 53min left Sat 2020-02-15 17:04:11 UTC 5h 2min ago man-db.timer man-db.service
Sun 2020-02-16 03:50:52 UTC 5h 44min left Sat 2020-02-15 17:04:11 UTC 5h 2min ago apt-daily.timer apt-daily.service
Sun 2020-02-16 06:12:38 UTC 8h left Sat 2020-02-15 17:04:11 UTC 5h 2min ago apt-daily-upgrade.timer apt-daily-upgrade.service
Sun 2020-02-16 18:44:56 UTC 20h left Sat 2020-02-15 17:16:10 UTC 4h 50min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Kesimpulan #
Kami telah menunjukkan kepada Anda cara membuat daftar tugas cron dan pengatur waktu systemd.
Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan.