Memahami Dasar Automation Server Linux dengan cron
Sering kali kita melakukan pekerjaan administrasi server rutin dan berulang seperti backup data, update sistem otomatis dan berbagai keperluan lainnya, hal ini kurang efektif dan efesien jika dilakukan secara manual.
Operating sistem berbasis linux server ataupun desktop, terdapat beberapa ‘alat’ yang dapat kita gunakan agar pekerjaan tersebut bisa dilakukan otomatis, antara lain :
- crontab
- anacron
- systemd timers
- watch
- at
Pada tulisan kali ini kita akan membahas yang paling populer digunakan yaitu crontab (cron table) sedang yang lain akan dbahas pada artikel lainnya.
Untuk menggunakan crontab kita pahami dulu struktur perintah crontab :
# m h dom mon dow command | | | | | | | | | | | +-- perintah yang akan dieksekusi | | | | +---- Hari dalam seminggu (0 - 7) (Minggu = 0 atau 7) | | | +------ Bulan (1 - 12) | | +-------- Hari dalam bulan (1 - 31) | +---------- Jam (0 - 23) +------------ Menit (0 - 59)
format penulisan crontab (via CLI/terminal)
crontab [ -u user ] file
mengatur eksekusi perintah sesuai dengan user tertentu dimana perintah eksekusi berada dalam file, contoh pada linux turunan ubuntu :
sudo crontab -u root shudown.txt
didalam file shutdown.txt terdapat perintah
55 23 * * * /sbin/reboot
berarti kita set shutdown server setiap jam 23:59.
bisa juga opsi format menulisan lain, yang bisa disesuaikan dengan kebutuhan
crontab [ -u user ] [ -i ] { -e | -l | -r }
berikut penjelasan opsi yang tersedia :
-u : mengatur crontab sesuai dengan nama user, misal root -i : agar dilakukan konfirmasi sebelum menghapus crontab. -e : meenambah atau mengedit daftar perintah crontab pengguna aktif atau pengguna lain. -l : melihat daftar tugas yang ada di crontab. -r : menghapus daftar perintah crontab pengguna aktif atau pengguna lain. file : file eksternal yang berisi tugas cron untuk diimpor.
Agar dapat memahami lebih baik, silahkan bereksperimen penggunaan crontab dengan berbagai opsi yang tersedia. Semoga tulisan ini bermanfaat untuk anda