Perfect Two

You can be captain and I can be your first mate
You can be the hero and I can be your side kick
You can be the rain from the cloud when it’s storming
Or you can be the sun when it shines in the morning

You can be the prince and I can be your princess
You can be the sweet tooth and I…

Perfect Two

Crontab untuk backup database MySQL secara otomatis -2

Ini adalah lanjutan dari seri tulisan backup dengan crontab kemaren.langsung saja langkahnya sebagai berikut;

1. Buat sebuah file (linux shell scripting) yang melakukan dump/backup database bernama test, misalnya file bernama backup_auto.sh dan disimpan di /home/ahmadi/

tgl='date +%Y%m%d_%H%M%S';
name=backup_test_$tgl.sql ;
mysqldump -uroot -ppass test > /home/sigit/$name;

baris 1 adalah kode membuat format penamaan file backup (berdasarkan tanggal).
baris 2 adalah kode membuat format file backup.
baris 3 adalah kode untuk membackup database mysql bernama test.
Contoh file hasil backup adalah : backup_test_20100330_210000.sql (Backup tanggal 30 Maret 2010 pukul 21.00).
2. Langkah selanjutnya yaitu men-set file backup_auto.sh sebagai executable file.

sudo chmod +x /home/ahmadi/backup_auto.sh

3. Langkah terakhir yaitu setting crontab untuk menjalankan file backup_auto.sh berdasarkan jadwal yang di tentukan.

sudo crontab -e

buat jadwal seperti berikut :

0 21 * * 1-5 /home/ahmadi/backup_auto.sh 2>&1 >> /home/ahmadi/backup_auto.log

Maksud dari contoh diatas adalah kita membuat jadwal eksekusi backup_auto.sh (file eksekusi backup database test secara otomatis) pada setiap hari kerja (senin-jumat) pukul 21.00 dan menyimpan log/catatan ke file backup_auto.log untuk memeriksa aktivitas dan memudahkan pemeriksaan jika terjadi trouble saat eksekusi .

Crontab (backup file) -1

Karena kejadian kemaren ,saya sekarang sibuk mempelajari backup dan restore database ,sekarang ini kita belajar cara membackup file dalam hal ini boleh database,script PHP,atau apa aja.Metode membackup biasa mungkin akan capek jika kita lakukan setiap hari.kita tidak mungkin membackup database perhari kan,emang gak ada kerjaan lain IT Adminsitrator?Nah untuk itu biarkan tools/metode yang bekerja untuk melakukan penjadwalan backup otomatis  .lanjut…

1.Silahkan Instal crontab

sudo apt-get install cron

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/ahmadi/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/ahmadi/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/ahmadi/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/ahmadi/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/ahmadi/script.sh

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

*/10 * * * * /home/ahmadi/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/ahmadi/script.sh

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

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

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

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

Selesai

Cara Backup dan Restore Database MySQL Menggunakan Console (1)

Sebagai administrator kita wajib paham tentang database minimal cara membackup dan merestore database ,dalam hal ini Mysql .kenapa perlu di backup ?karena mengurangi resiko databse asli rusak atau mysql corrupt sehingga jika hal itu terjadi kita masih bisa menyelamatkan data kita .berarti itu sangat crusial alias penting banget.

Contoh sederhana cara backup dan restore database;

a.Membackup semua database Mysql

mysqldump -u userkamu -p -A > /folder/kamu/hasilbackup.sql

b.Membackup beberapa database

mysqldump -u userkamu -p dbsatu dbdua dbtiga > /folder/kamu/hasilbackup.sql

c.Membackup satu database saja

mysqldump -u userkamu -p dbsatu > /folder/kamu/hasilbackup.sql

d.Membackup tabel tertentu dalam satu database

mysqldump -u userkita -p dbsatu -t namatable > /folder/kita/hasilbackup.sql

e.Merestore file data backup ke database

mysql -u userkamu -p dbsatu < /folder/kamu/hasilbackup.sql

Insyaallah bermanfat 🙂