Eksekusi File bash berdasarkan Waktu - Crontab

20.26 Posted In Edit This 0 Comments »

Helo kawan smw, 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

sumber:https://diazscript.wordpress.com/page/5/?ds=berita

0 komentar: