Jumat, 20 November 2009

Backup Flasdisk Dengan Rsync di Ubuntu

Saya ini tipe orang yang sembrono, buktinya sejauh ini sudah 4-5 flashdisk milik saya yang hilang, terakhir kali yang jadi korban adalah fd Sandisk 2 GB . . . semoga saja fd saya yang baru Transcend 4GB tidak bernasib sama. Hal kehilangan ini membuat saya sadar kalau kebutuhan backup data dalam fd saya itu sangat penting sekali. Karena setiap kali kehilangan fd selalu saja banyak juga hilang file-2 penting.

Mau backup pake cara copy-paste jelas malas karena menjadi tidak praktis ketika jumlah file yang ada dalam fd sangat banyak, mau pake software khusus koq ya males juga, ribet rasanya. Maka dari itu saya lebih memilih sebuah tool sederhana yang bernama rsync. apa itu rsync? penjelasan sederhana rsync - a fast, versatile, remote (and local) file-copying tool, selanjutnya silahkan cari sendiri dengan googling ;)

Pertama saya membuat folder dimana isi fd nantinya akan dibackup disini. Saya membuat folder backupfd di home direktori dalam folder Documents.

$ cd /home/roland/Documents

$ mkdir backupfd

note: perintah cd untuk masuk ke folder Documents lalu perintah mkdir untuk membuat folder baru di dalam folder Documents. Jadi saya sudah punya folder tujuan backup. Selanjutnya kita masuk ke fd.

$ cd /media/Transcend

note: Transcend adalah nama fd saya sesuai dengan nama merknya. Berikutnya kita akan backup fd ke folder backupfd.

$ rsync -av /media/Transcend/ /home/roland/Documents/backupfd

note: rsync -av [path sumber backup] [path tujuan backup] cuman perintah -av ga asik, ga asik gimana? karena kita ndak bisa liat proses backup yang terjadi makanya saya menambahkan opsi -h

$ rsync -avh /media/Transcend/ /home/roland/Documents/backupfd

Ketika proses pertama kali backup, rsync akan mengkopi seluruh isi fd ke folder backupfd sedangkan proses kedua dan seterusnya rsync akan membandingkan isi fd dengan isi folder lalu hanya mengkopi isi fd yang tidak ada di folder backupfd.

Misalnya fd saya berisi 3 file txt = 1.txt 2.txt 3.txt yang oleh rsync dikopi ke backupfd... suatu ketika saya menambahkan file 4.txt ke dalam fd. Rsync akan membandingkan isi fd dengan backupfd lalu hanya mengkopi 4.txt ke dalam backupfd, enak bukan?!

Namun dikemudian hari saya menemukan sebuah masalah yaitu saya tidak ingin file-2 tertentu dalam fd terbackup.Ceritanya saya punya warnet langganan yang menggunakan Windows 7 yang tiap kali pulang dari sana selalu mendapati fd saya berisi file-2 dengan extention .lnf .inf .db dengan nama aneh yang saya curigai sebagai virus Windows (cmiiw). Tentu saja virus-2 tersebut tidak akan menginfeksi laptop saya yang menggunakan OS Ubuntu tapi saya tidak senang file-2 itu terbackup.

Intinya bagaimana membackup fd tanpa membackup juga virus-2 sialan itu. Solusinya ada dan saya senang mengucapkan terima kasih kepada Mas Mahyudding Susanto atas saran yang beliau berikan.

$ rsync -avh --exclude "*.lnk" --exclude "*.inf" --exlude "*.db /media/Transcend/ /home/roland/Documents/backupfd

note: --exclude "*.lnk" opsi ini akan membuat semua file .lnk yang ada dalam fd saya tidak dibackup. tapi bagaimana kalau ada 100 extention yang juga mau di exclude? wah bisa kram niy tangan ngetik sebanyak itu. solusinya dengan opsi --exclude-from=

Pertama saya membuat sebuah file bernama blacklist.txt di /home/roland yang isinya sebagai berikut:

*.lnk
*.ink
*.db

Setelah file blacklist.txt selesai dibuat dan disave. Saya mengubh perintah rsync menjadi

rsync -avh --exclude-from=/home/roland/blacklist.txt /media/Transcend/ /home/roland/Documents/backupfd

note: --exclude-from=/home/roland/blacklist.txt dengan ini rsync akan memeriksa file blacklist.txt untuk mengecek file extensi mana yang akan diexclude/tidak dibackup.

Tetapi kita perintah ini dijalankan ada sebuah keanehan, extensi .lnk yang ada di bagian atas list ternyata masih terbackup sedangkan .inf dan .db tidak, apa ada yang salah? Setelah coba-2 ternyata kesalahan ada di file blacklist.txt. Solusinya adalah memberi satu spasi kosong dari bagian paling atas file dengan hit enter (liat srcreenshot).




2 komentar: