Perintah crontab mengelola tabel cron yang digunakan oleh daemon cron untuk menjalankan tugas cron. Artikel ini menjelaskan berbagai opsi baris perintah dari perintah crontab.
1. Tweak Crontab Pengguna Lain menggunakan Option -u
-u adalah singkatan dari pengguna. Ini harus diikuti dengan nama pengguna yang valid dalam sistem. -u opsi saja tidak melakukan apa-apa. Itu harus dikombinasikan dengan opsi lain. Sebenarnya, ini dapat dikombinasikan dengan opsi baris perintah crontab lainnya.
Jika Anda tidak menentukan nama pengguna -u, perintah crontab akan dijalankan pada pengguna saat ini. Misalnya, semua perintah crontab berikut akan dijalankan pada pengguna yang masuk saat ini.
crontab -l crontab -e crontab -r ..
Jika Anda menentukan nama pengguna -u, perintah crontab akan dijalankan pada nama pengguna yang diberikan. Misalnya, semua perintah crontab berikut akan dijalankan pada pengguna oracle.
crontab -u oracle -l crontab -u oracle -e crontab -u oracle -r ..
2. Tampilkan Tabel Cron menggunakan Opsi -l
-l adalah singkatan dari daftar. Ini menampilkan crontab dari pengguna saat ini. Karena saya masuk sebagai root, ini akan menampilkan tugas cron dari pengguna root.
# crontab -l 53 00 * * 7 /bin/sh /home/root/bin/server-backup
Untuk menampilkan tugas cron pengguna lain, gabungkan opsi -l dengan -u.
# crontab -u oracle -l 01 00 * * * /bin/sh /home/oracle/bin/rman-backup
15 contoh crontab menjelaskan cara praktis menggunakan entri cron job.
3. Edit Tabel Cron menggunakan Opsi -e
-e adalah singkatan dari edit. Ini memungkinkan Anda untuk mengedit crontab pengguna saat ini. Karena saya masuk sebagai root, ini akan secara otomatis membuka tugas cron root di editor Vim, dan memungkinkan saya untuk mengeditnya.
# crontab -e 53 00 * * 7 /bin/sh /home/root/bin/server-backup ~ ~ /tmp/crontab.7dgqju
Seperti yang Anda perhatikan di atas, /tmp/crontab.7dgqju adalah file sementara yang dibuat oleh crontab secara otomatis tempat Anda dapat mengedit tugas cron Anda.
Saat Anda menyimpan hasil edit dan keluar dari editor Vim, itu akan menampilkan salah satu pesan berikut, tergantung apakah Anda membuat perubahan atau tidak.
# crontab -e crontab: no changes made to crontab # crontab -e crontab: installing new crontab
Catatan:Editor yang digunakan crontab untuk membuka tugas cron untuk pengeditan tergantung pada variabel lingkungan VISUAL atau EDITOR. Secara default, ini akan menggunakan editor Vim di lingkungan Linux. Tetapi Anda dapat mengubahnya menggunakan variabel lingkungan VISUAL/EDITOR.
Untuk mengedit tugas cron pengguna lain, gabungkan opsi -e dengan -u.
# crontab -u oracle -e crontab: installing new crontab
Untuk memahami arti dari entri crontab itu sendiri, lihat Cara Menjalankan Pekerjaan Cron Setiap 5 Menit (atau Jam, atau Hari, atau Bulan).
4. Muat Crontab dari File
Alih-alih mengedit crontab secara manual untuk menambahkan pekerjaan baru, Anda juga dapat mengunggah semua pekerjaan cron dari file. Ini berguna ketika Anda harus memelihara banyak server yang memiliki entri tugas cron yang sama.
Dalam contoh berikut, semua tugas cron ada di file /home/root/mycronjobs.txt.
# cat /home/root/mycronjobs.txt 53 00 * * 7 /bin/sh /home/root/bin/server-backup 01 00 * * * /bin/sh /home/root/bin/check-user-quota
Untuk mengunggah tugas mycronjobs.txt ke crontab pengguna saat ini, lakukan hal berikut:
# crontab /home/root/mycronjobs.txt
Validasi untuk memastikan tugas cron berhasil diunggah.
# crontab -l 53 00 * * 7 /bin/sh /home/root/bin/server-backup 01 00 * * * /bin/sh /home/root/bin/check-user-quota
Catatan:Berhati-hatilah saat menggunakan metode unggah ini, karena ini akan menghapus semua entri pekerjaan cron saat ini sebelum mengunggah yang baru.
Untuk mengunggah tugas cron dari file ke pengguna lain, gabungkan dengan opsi -u.
# crontab -u oracle /home/oracle/mycronjobs.txt
5. Tambahkan Keamanan SELinux menggunakan Opsi -s
-s adalah singkatan dari SELinux. Ini akan menambahkan variabel MLS_LEVEL ke crontab yang berisi konteks keamanan SELinux saat ini.
Untuk menggunakan opsi -s, Anda harus mengunggah tugas cron dari file.
# cat /home/root/mycronjobs.txt 53 00 * * 7 /bin/sh /home/root/bin/server-backup 01 00 * * * /bin/sh /home/root/bin/check-user-quota # crontab -s /home/root/mycronjobs/my.txt SELINUX_ROLE_TYPE=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 53 00 * * 7 /bin/sh /home/root/bin/server-backup 01 00 * * * /bin/sh /home/root/bin/check-user-quota
Tergantung pada sistem Anda, di atas akan menambahkan variabel SELUNUX_ROLE_TYPE atau variabel MLS_LEVEL yang berisi string konteks keamanan SELinux. Jika Anda tidak menggunakan SELinux di lingkungan Anda, jangan khawatir tentang apa yang dilakukan opsi ini. SELinux adalah topik diskusi yang terpisah, yang mungkin akan kami bahas secara detail di artikel mendatang.
6. Hapus Semua Pekerjaan Cron menggunakan Opsi -r
-r adalah singkatan dari menghapus. Ini akan menghapus semua entri cron job dari pengguna saat ini seperti yang ditunjukkan di bawah ini.
# crontab -l 53 00 * * 7 /bin/sh /home/root/bin/server-backup 01 00 * * * /bin/sh /home/root/bin/check-user-quota # crontab -r # crontab -l no crontab for root
-i adalah singkatan dari mode interaktif. Menggabungkan -i dengan -r akan meminta konfirmasi Anda sebelum menghapus semua entri crontab.
# crontab -ir crontab: really delete root's crontab? n
Untuk menghapus tugas cron dari pengguna lain, gabungkan opsi -r dengan -u.
# crontab -u oracle -l 01 00 * * * /bin/sh /home/oracle/bin/rman-backup # crontab -u oracle -r # crontab -u oracle -l no crontab for oracle