Eksekusi bash file berdasarkan waktu – crontab


wah.. dasar virus. ini musuh para developer nih… gimana klo kita yang pengguna linux sie ga’ merasa terganggu, tapi para client yang yg penggunan jendela, suka diributkan masalah virus, saya juga kena dah. hm.. ngatasinnya gimana ya cara supaya exe kita yang kita share g’ ditempelin virus..

hehe.. hapus aja😀

ia.. ini ada script di ubuntu, yg bisa hapus, timpa,paste, copy otomatis setiap jam yang kita tentukan. jadi.. program kita yang bersih(ada pada file linux) dipastekan ke program yg sekiranya rentan terhadap virus(kronologina file kita share)

Contoh 1:
Saya login menggunakan user root lalu akan melakukan reboot system saya setiap jam 4 pagi

Caranya :
Masuk ke root

# sudo su [enter]

# password : **** [enter]

# crontab -e

Maka akan membuka text editor vi lalu isikan :

0 4 * * * /sbin/reboot

simpan dan keluar dengan menekan :wq,

angka 4 : menunjukkan bahwa setiap jam 4 pagi akan muncul perintah yang akan dieksekusi.

/sbin/reboot : mengeksekusi perintah reboot yang ada pada direktori /sbin/reboot

Maka secara otomatis penjadwalan tersebut akan berjalan dan akan mengeksikusi perintah sesuai dengan waktu yang telah ditentukan.

Contoh 2 :

30 05 * * * root rm /var/log/httpd/*

penjelasan:
jadi, setiap hari, pukul 05:30 pagi, perintah “rm /var/log/httpd/*” akan dieksekusi, yang berarti akan menghapus semua file dalam folder /var/log/httpd/.

Contoh 3 :

01 05 01 * * root /bin/sh /etc/script.sh

penjelasan:

Pada pukul 05:01 setiap tanggal 1, setiap bulannya, akan dieksekusi kumpulan perintah pada file “/etc/script.sh” (yang berupa file shell/bash script).

NB : HILANGKAN KATA ROOT JIKA SCRIPT TIDAK MAU RUNING DI JENIS LINUX TERTENTU

terima kasih

http://freecentro.wordpress.com/category/ubuntu-basic/

 

Adapun Penjelasan lain yang saya ambil dari gosigitgo.wordpress.com

 

2. Melihat aktifitas crontab
Untuk melihat schedule yang sedang berjalan di sistem Anda :

sudo crontab -l

3. Mengedit cron jobs

sudo crontab -e

editor default dari cron adalah vi atau pico
4. Format penulisan cron
Format penulisan crontab ditulis dengan format seperti ini :

* * * * * /home/sigit/script.sh

Penjelasan :
5 bintang (*) diatas merepresentasikan bagian2 format tanggal yang berbeda, urutannya sebagai berikut :
1. (* pertama) : menit (isian : 0 – 59)
2. (* kedua) : jam (isian : 0 – 23)
3. (* ketiga) : hari dari bulan / tanggal (isian : 1 – 31)
4. (* keempat) : bulan (isian : 1 – 12)
5. (* kelima) : hari dari minggu (isian : 0 – 6) –> 0 = minggu
Contoh :
Eksekusi setiap menit :

* * * * * php /opt/lampp/htdocs/jobs/test.php

jadwal tersebut akan mengeksekusi perintah php pada setiap menit dari setiap jam, setiap hari, setiap minggu, setiap bulan ::bingung::, pokoknya setiap menit dah.
Eksekusi setiap Sabtu jam 12 siang :

0 12 * * 6 /home/sigit/script.sh

(* pertama) artinya pada menit ke 0, (* kedua) artinya pada jam ke 12, (* ketiga) artinya pada tanggal berapapun, (* keempat) artinya pada setiap bulan, (* kelima) artinya pada setiap hari sabtu (6 = sabtu). (semoga ngga bingung)
Eksekusi pada jam 9 malam setiap hari kerja (Senin – Jumat) :

0 21 * * 1-5 /home/sigit/script.sh

Arinya sama mirip-mirip ama diatas, cuma (* kelima) diisi rentang, yaitu 1-5 (artinya senin-jumat)
> Eksekusi setiap menit ke 30 (setiap jam) pada setiap tanggal 1 (setiap bulan)

30 * 1 * * /home/sigit/script.sh

5. Tips and Trick
> Misalnya kita mau jalanin suatu perintah setiap 10 menit (tiap hari), penulisannya bisa seperti ini :

0,10,20,30,40,50 * * * * /home/sigit/script.sh

Tapi ada trik penulisan yang lebih gampang, caranya seperti ini :

*/10 * * * * /home/sigit/script.sh

arti dari (*/10) adalah (ngerti lah). :D
> kode-kode special
crontab menyediakan kode-kode special untuk digunakan, berikut kodenya :

@reboot     Run once, at startup
@yearly     Run once  a year     "0 0 1 1 *"
@annually   (same as  @yearly)
@monthly    Run once  a month    "0 0 1 * *"
@weekly     Run once  a week     "0 0 * * 0"
@daily      Run once  a day      "0 0 * * *"
@midnight   (same as  @daily)
@hourly     Run once  an hour    "0 * * * *

Cara pemakaian :

@daily /home/sigit/script.sh

6. Menyimpan log crontab
Supaya kita bisa memonitor pekerjaan crontab kita, hasil log bisa disimpan dalam file, caranya seperti berikut :

@daily /home/sigit/script.sh 2>&1 >> /home/sigit/log/crontab_schedule.log

atau bisa dikirim ke email (harus install mailx dulu), caranya :

@daily /home/sigit/script.sh 2>&1 | mail -s "Cronjob Log sgt.wibowo@gmail.com

Itu dulu yang bisa saya tulis, kalo ada pertanyaa, sanggahan, atau penambahan silahkan hubungi saya

 

Eksekusi bash file berdasarkan waktu – crontab

7 thoughts on “Eksekusi bash file berdasarkan waktu – crontab

  1. Mas saya mau tanya kalau untuk menambahkan format waktu di log cronjob bagaimana yah mas?
    jika saya menggunakan format berikut;
    */1 * * * * /etc/init.d/httpd restart >> /root/log_crontab-`date +\%Y-\%m-\%d`.log

    log crontab akan membuat file baru, seperti:
    Starting httpd: [ OK ]
    Stoping httpd: [ OK ]

    bagaimana scrip cron yg benar jika dalam log_crontab.log
    memelikiki format log:

    Starting httpd 24 Mei 2011: [ OK ]
    Stoping httpd 24 Mei 2011: [ OK ]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s