Menambahkan Jobs pada cron pada Linux ataupun UNIX
Posted in Info, Server 0 comments
Cron job biasa digunakan untuk penjadwalan command untuk dieksekusi secara periodic,
biasanya berupa script. Cron service (daemon) berjalan di background dan secara
konstan mengecek file /etc/crontab, direktori /etc/cron.*/. Dan juga mengecek direktori
/var/spool/cron/
Macam-macam command crontab
crontab -e Edit crontab
file, atau membuat baru jika file tidak ada.
crontab -l Melihat
list dari crontab file.
crontab -r Menghapus
crontab file.
crontab -v Melihat
kali terakhir editan crontab file. (hanya tersedia pada system tertentu).
Syntax
of crontab (deskripsi Field)
Cron job terlihat mengikuti user
job:
1
2 3 4 5 /path/to/command arg1 arg2
OR
1
2 3 4 5 /root/backup.sh
dimana,
- 1: Minute (0-59)
- 2: Hours (0-23)
- 3: Day (0-31)
- 4: Month (0-12 [12 == December])
- 5: Day of the week(0-7 [7 or 0 == sunday])
- /path/to/command - Script or command name to schedule
Format yang mudah diingat:
*
* * * * command to be executed
-
- - - -
|
| | | |
|
| | | ----- Day of week (0 - 7) (Sunday=0 or 7)
|
| | ------- Month (1 - 12)
|
| --------- Day of month (1 - 31)
|
----------- Hour (0 - 23)
-------------
Minute (0 - 59)
Cron job terlihat mengikuti system
jobs:
1
2 3 4 5 USERNAME /path/to/command arg1 arg2
OR
1
2 3 4 5 USERNAME /path/to/script.sh
Contoh
: Install Backup Job Script
Case pada solaris os jalankan command dibawah terlebih dahulu
EDITOR=vi
export EDITOR
crontab -e
Kita ingin menjalankan script dengan
nama /temp/copyfile.sh setiap hari pada jam 1 pagi, maka masukkan command
berikut ini :
# crontab -e
masukkan pada baris terakhir
0 1 * * * /temp/copyfile.sh
Simpan dan tutup file
# crontab -e
masukkan pada baris terakhir
0 1 * * * /temp/copyfile.sh
Simpan dan tutup file
Contoh
lainnya
Jalankan
script pada jam 3:30 siang setiap bulan, ketikkan:
30 15 1 * * /temp/copyfile.sh
Jalankan script pada jam 8 malam setiap hari kerja (senin-jumat), ketikkan:
30 15 1 * * /temp/copyfile.sh
Jalankan script pada jam 8 malam setiap hari kerja (senin-jumat), ketikkan:
0 20 * *
1-5 /temp/copyfile.sh
Jalankan
script pada menit ke 25 setelah tengah malam, jam 2 pagi, jam 4 pagi, setiap
hari, ketikkan:
25 0-23/2 * * * /temp/copyfile.sh
Jalankan script pada jam 1 lewat 2menit setaip Minggu, ketikkan:
2 1 * * sun /temp/copyfile.sh
25 0-23/2 * * * /temp/copyfile.sh
Jalankan script pada jam 1 lewat 2menit setaip Minggu, ketikkan:
2 1 * * sun /temp/copyfile.sh
Disable
Email Output
Secara default keluaran command
script akan mengirim email ke account email local. Untuk memberhentikan penerimaan
email dari crontab maka kita harus menambahkan “>/dev/null 2>&1”,
sebagai contoh:
30 5 * * * /temp/copyfile.sh >/dev/null 2>&1
Untuk mengirimkan notifikasi email ke email lain nya selain email local maka kita bisa menambahkan variable MAILTO pada cron job:
MAILTO="k0p0nkkk@blogspot.com"
30 5 * * * /temp/copyfile.sh >/dev/null 2>&1
30 5 * * * /temp/copyfile.sh >/dev/null 2>&1
Untuk mengirimkan notifikasi email ke email lain nya selain email local maka kita bisa menambahkan variable MAILTO pada cron job:
MAILTO="k0p0nkkk@blogspot.com"
30 5 * * * /temp/copyfile.sh >/dev/null 2>&1
Menggunakan
special string untuk menghemat waktu
Berikut special string yang dapat
kita gunakan untuk menghemat waktu kita
Special string
|
Arti
|
@reboot
|
Jalankan sekali pada saat startup.
|
@yearly
|
Jalankan sekali setahun, "0 0
1 1 *".
|
@annually
|
(sama dengan @yearly)
|
@monthly
|
Jalankan sekali sebulan, "0 0
1 * *".
|
@weekly
|
Jalankan sekali seminggu, "0
0 * * 0".
|
@daily
|
Jalankan sehari sekali, "0 0
* * *".
|
@midnight
|
(sama dengan @daily)
|
@hourly
|
Jalankan setiap 1 jam sekali,
"0 * * * *".
|
Jalankan ntpdate every hour:
@hourly /path/to/ntpdate
Buat backup setiap hari:
@daily /path/to/backup/script.sh
@hourly /path/to/ntpdate
Buat backup setiap hari:
@daily /path/to/backup/script.sh
Memahami
Default /etc/crontab
Typical isi file /etc/crontab:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#
run-parts
01
* * * * root run-parts /etc/cron.hourly
02
4 * * * root run-parts /etc/cron.daily
22
4 * * 0 root run-parts /etc/cron.weekly
42
4 1 * * root run-parts /etc/cron.monthly
Directory
|
Description
|
/etc/cron.d/
|
Taruh semua script disini dan
panggil mereka dari etc/crontab file.
|
/etc/cron.daily/
|
Menjalankan semua script sehari
sekali
|
/etc/cron.hourly/
|
Menjalankan semua script sejam
sekali
|
/etc/cron.monthly/
|
Menjalankan semua script sebulan
sekali
|
/etc/cron.weekly/
|
Menjalankan semua script seminggu
sekali
|
Backup
Installed Cronjobs
Simple saja untuk melakukan backup
cronjob yang sudah dibuat ketikkan command berikut:
# crontab -l > /temp2/users.root.backup
# crontab -u userName -l > /temp2/users.userName.backup
# crontab -l > /temp2/users.root.backup
# crontab -u userName -l > /temp2/users.userName.backup
0 comments:
Post a Comment