Cara Melihat dan Mendaftar Cron Jobs Menggunakan Crontab
Utilitas cron pada sistem operasi mirip Unix memungkinkan pengguna untuk menjadwalkan tugas (perintah atau skrip) untuk dijalankan secara otomatis pada waktu atau interval tertentu. Apakah Anda sedang memelihara server atau mengelola tugas otomatis di mesin lokal, cron adalah alat penting bagi administrator sistem dan pengembang.
Artikel ini menjelaskan cara melihat dan mencantumkan pekerjaan cron menggunakan perintah
crontabApa Itu Perintah Crontab?
Crontab (singkatan dari “cron table”) adalah file yang mendefinisikan tugas yang dijadwalkan untuk daemon cron. Setiap pengguna di sistem, termasuk pengguna
rootEntri crontab mengikuti sintaks ini:
* * * * * command_to_be_executed
| | | | |
| | | | +----- day of the week (0–7) (Sunday = 0 or 7)
| | | +---------- month (1–12)
| | +--------------- day of the month (1–31)
| +-------------------- hour (0–23)
+------------------------- minute (0–59)
Struktur ini memungkinkan kontrol yang tepat atas kapan tugas dieksekusi, menjadikan cron alat otomatisasi yang kuat.
Cara Mencantumkan Pekerjaan Cron Menggunakan Crontab
Perintah
crontab1. Lihat Pekerjaan Cron Anda Sendiri
Untuk menampilkan pekerjaan cron untuk pengguna yang sedang masuk, jalankan:
crontab -lPerintah ini mencantumkan semua pekerjaan cron yang dijadwalkan untuk pengguna saat ini. Jika tidak ada pekerjaan cron yang ada, mungkin akan mengembalikan output kosong atau pesan yang menunjukkan bahwa tidak ada crontab yang didefinisikan.
Contoh output:
# m h dom mon dow command
0 0 * * * /home/user/backup.sh
30 2 * * 7 /home/user/scripts/cleanup.sh
Dalam contoh ini:
- Skrip cadangan berjalan setiap hari pada tengah malam.
- Skrip pembersihan berjalan setiap hari Minggu pada pukul 2:30 AM.
2. Mencantumkan Pekerjaan Cron untuk Pengguna Lain
Jika Anda memiliki
sudo-usudo crontab -l -u usernameGanti
usernamesudo crontab -l -u johnIni menampilkan semua pekerjaan cron yang dijadwalkan untuk pengguna yang ditentukan.
3. Mencantumkan Pekerjaan Cron Seluruh Sistem
Selain pekerjaan cron spesifik pengguna, ada tugas cron seluruh sistem yang dijadwalkan oleh sistem atau pengguna root. Ini biasanya disimpan di:
/etc/crontab/etc/cron.d//var/spool/cron/crontabs/
Untuk melihat file crontab utama sistem, jalankan:
cat /etc/crontabContoh output:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Konfigurasi ini menjadwalkan tugas pemeliharaan sistem setiap jam, setiap hari, setiap minggu, dan setiap bulan.
Untuk mencantumkan file cron sistem tambahan, jalankan:
ls /etc/cron.d/Setiap file di direktori ini dapat mendefinisikan tugas yang dijadwalkan tambahan untuk layanan sistem.
4. Lihat Pekerjaan Cron di /var/spool/cron
File crontab spesifik pengguna biasanya disimpan di
/var/spool/cron/crontabsls /var/spool/cron/crontabsUntuk melihat isi file crontab pengguna tertentu:
cat /var/spool/cron/crontabs/usernameIni memberikan output yang sama seperti
crontab -l -u usernameMengedit Pekerjaan Cron
Untuk mengedit atau menambahkan pekerjaan cron untuk pengguna saat ini, jalankan:
crontab -eIni membuka file crontab di editor teks default. Setelah menyimpan dan keluar, perubahan akan segera berlaku.
Contoh: jalankan skrip setiap hari pada pukul 3:00 AM:
0 3 * * * /home/user/script.shPerintah Pencantuman Crontab Umum
- Cantumkan pekerjaan cron pengguna saat ini:
crontab -l - Cantumkan pekerjaan cron pengguna lain (sudo diperlukan):
sudo crontab -l -u username - Lihat crontab sistem:
cat /etc/crontab - Cantumkan file cron di /etc/cron.d/:
ls /etc/cron.d/ - Cantumkan crontab pengguna:
ls /var/spool/cron/crontabs
Kesimpulan
Melihat dan mencantumkan pekerjaan cron menggunakan
crontabDengan menguasai cron, Anda dapat mengotomatiskan tugas yang berulang, mengelola cadangan, dan mempertahankan eksekusi skrip yang konsisten di seluruh lingkungan Anda.
