Cronjob Untuk Automatiskan Pekerjaanmu
Cronjob adalah serangkaian perintah yang berjalan dan aktif sesuai waktu yang kita tentukan, baik perintah yang berulang maupun perintah sekali jalan.
Cron biasanya digunakan disisi server linux untuk backup database, update data, monitoring, hapus file dan keperluan Sys Admin.
Cron bisa menjalankan shell script, php, go dan masih banyak lagi, berikut detail cron yang harus kamu ketahui.
Buat Crontab
root@prapto:~$ crontab -e
Perintah Dasar
- crontab -e : Untuk membuat atau Edit file crontab.
- crontab -l : Menampilkan isi file crontab.
- crontab -r : Menghapus file crontab.
- crontab -v : Menampilkan log terakhir dari file crontab.
Karakter Asterisk (bintang) merupakan karakter wild card yang dipakai untuk membuat sebuah job dijalankan setiap menit, setiap jam, setiap, hari, setiap bulan (tergantung posisi dimana ia ditulis, lihat grafik di atas).
* * * * * perintah yang akan dieksekusi
– – – – –
| | | | |
| | | | +—– day of week (0 – 7) (Sunday=0)
| | | +——- month (1 – 12)
| | +——— day of month (1 – 31)
| +———– hour (0 – 23)
+————- min (0 – 59)
– – – – –
| | | | |
| | | | +—– day of week (0 – 7) (Sunday=0)
| | | +——- month (1 – 12)
| | +——— day of month (1 – 31)
| +———– hour (0 – 23)
+————- min (0 – 59)
Berikut adalah contoh cron yang saya gunakan diserver :
#Ini Untuk Update Kapasitas Kamar BPJS
*/15 * * * * wget http://127.0.0.1/bridging/update_kamar_bpjs.php
#Ini Untuk Update Kapasitas Kamar SIMRS
*/15 * * * * wget http://127.0.0.1/bridging/update_kamar.php
#Backup database merger harian
1 0 * * * /backup-data/backup-merger/dbbackup.sh >> /backup-data/backup-merger/cron_err.log 2>&1
#Reset Antrian
1 0 * * * /home/deliserdang/antrian_reset.sh
#Sinkronisai backup database ke NAS
56 1 * * * rsync -av --delete -e "ssh -i /home/deliserdang/.ssh/id_rsa" /backup-data/backup-merger/ SIMRS@192.168.1.7::NetBackup/backup-database >> /home/deliserdang/rsync.log 2>&1
*/15 * * * * wget http://127.0.0.1/bridging/update_kamar_bpjs.php
#Ini Untuk Update Kapasitas Kamar SIMRS
*/15 * * * * wget http://127.0.0.1/bridging/update_kamar.php
#Backup database merger harian
1 0 * * * /backup-data/backup-merger/dbbackup.sh >> /backup-data/backup-merger/cron_err.log 2>&1
#Reset Antrian
1 0 * * * /home/deliserdang/antrian_reset.sh
#Sinkronisai backup database ke NAS
56 1 * * * rsync -av --delete -e "ssh -i /home/deliserdang/.ssh/id_rsa" /backup-data/backup-merger/ SIMRS@192.168.1.7::NetBackup/backup-database >> /home/deliserdang/rsync.log 2>&1
Berikut adalah saya jabarkan lebih customnya :
Setiap menit setiap hari
# m h dom mon dow command
* * * * * /home/user/cron.sh
* * * * * /home/user/cron.sh
Setiap 30 menit setiap hari
# m h dom mon dow command
*/30 * * * * /home/user/cron.sh
*/30 * * * * /home/user/cron.sh
Setiap hari tengah malam
# m h dom mon dow command
0 0 * * * /home/user/cron.sh
0 0 * * * /home/user/cron.sh
Tiga kali sehari
# m h dom mon dow command
0 */8 * * * /home/user/cron.sh
0 */8 * * * /home/user/cron.sh
Setiap weekend (Sabtu - Minggu) jam 6 pagi
# m h dom mon dow command
0 06 * * 6,7 /home/user/cron.sh
0 06 * * 6,7 /home/user/cron.sh
Setiap 1 bulan sekali tanggal 10 jam 8 pagi
# m h dom mon dow command
0 08 10 */1 * /home/user/cron.sh
0 08 10 */1 * /home/user/cron.sh
Semoga bermanfaat
Komentar