Nov 11, 2010

Network Backup menggunakan GNU tar

Network Backup Image


Ini adalah versi yang sedikit lebih "primitif" dari metode backup menggunakan Amanda yang dulu pernah saya tulis cara instalasinya.
Backup server menggunakan sistem operasi Ubuntu-10.04 Server Edition 64bit, dengan beberapa tools yang di-install dari paket Ubuntu di bawah ini:
  • GNU tar versi 1.22. Digunakan sebagai backup tool utama, mem-backup data-data dari backup client ke dalam backup server.

  • dd (coreutils) versi 7.4. Digunakan untuk menyalin backup file (yang dihasilkan oleh tar) dari harddisk ke dalam tape media.

  • mt-st versi 1.1. Tool penunjang untuk memanipulasi tape media.

  • mtx versi 1.3.12. Tool penunjang untuk memanipulasi perangkat auto loader.


Backup client terdiri beberapa mesin Windows dan Linux, masing-masing bertindak sebagai file server dengan menyediakan shared-folder.
Tahapan proses backup:
  • Menge-mount network shared-folder

  • Mem-backup data di shared-folder menggunakan perintah tar

  • Menyalin file hasil backup ke media tape


Menge-mount shared-folder
Parameter dan option yang digunakan sewaktu menge-mount shared-folder:
ro,username=nama_user,password=password_user,iocharset=utf8
Dengan option seperti itu, mounting shared-folder dilakukan read-only, menggunakan username dan password sesuai dengan yang terdaftar di mesin client. Option iocharset digunakan supaya file-file yang mempunyai karakter-karakter "aneh" di namanya atau nama file-nya cukup panjang, juga ikut ter-backup.
Jadi, isi script untuk melakukan mount yang saya gunakan adalah sebagai berikut:

#---script start---
!#/bin/bash
smbuser="bkpuser"
smbpassword="W1np@ssw0rd"
smbshare="//winsvr/shared-folder"
mountpoint="/mnt/winmount"
/bin/mount -t cifs -o ro,iocharset=utf8,username="$smbuser",password="$smbpassword" "$smbshare" "$mountpoint"
#---script end---

Mem-backup dengan tar
Parameter dan option yang digunakan sewaktu menjalankan perintah tar:


  • --create: operasi tar untuk membuat file backup. Operasi lain misalnya adalah --list untuk melihat isi suatu archive, atau --extract untuk meng-ekstrak kembali suatu archive.

  • --ignore-failed-read: option supaya tar tetap meneruskan prosesnya jika sewaktu mem-backup ada file yang gagal di-backup.

  • --tape-length: option untuk menentukan ukuran maksimum dari file hasil backup. Berguna terutama jika nantinya file hasil backup akan disalin ke media lain - misalnya tape backup, yang kapasitasnya terbatas.

  • --new-volume-script: option untuk memanggil script kecil yang berfungsi untuk menentukan penamaan file hasil backup, jika hasil backup di-split menjadi lebih dari satu file.

  • --exclude-from: option untuk membuat perkecualian atas file-file tertentu supaya tidak diikutkan dalam proses backup.

  • --listed-incremental: untuk memberi perintah kepada tar agar melakukan incremental backup, yaitu backup hanya terhadap file-file yang berubah sejak terakhir kali dilakukan backup.

  • --no-check-device: option tar agar mengabaikan device number dari media yang sedang dibackup. Berguna untuk metode backup incremental dan jika media yang dibackup adalah shared-drive (dari NFS, smbfs, cifs). Tanpa option ini, network backup kemungkinan besar akan gagal melakukan incremental, sehingga yang terjadi adalah selalu full backup.

  • --label: untuk memberi label pada file hasil backup. Ini berguna terutama jika hasil backup akan disimpan di dalam media tape, yaitu bisa memudahkan untuk mengetahui isi dari tape tersebut.

  • --file: untuk menentukan nama file hasil backup.


Sehingga isi script yang saya gunakan untuk menjalan tar dalam proses backup adalah sebagai berikut:
#---script start---
gnutar="/bin/tar"
scriptdir="/home/eharianto/scripts"
exclfile="/home/eharianto/exclude-backup"
dirtobackup="user"
bkpfile="user-daily"
bkpdir="/home/eharianto/backup"
$gnutar --create --tape-length 34603008 --no-check-device --ignore-failed-read --new-volume-script "$scriptdir"/multi-vol --label "$bkpfile" --exclude-from "$exclfile" --listed-incremental "$scriptdir"/user-list --file $bkpdir$bkpfile "$dirtobackup"
#---script end---

Menyalin file hasil backup kedalam tape media:
Isi script untuk menyalin file backup kedalam tape media:

#---script start---
mt="/bin/mt"
dd="/bin/dd"
cd $bkpdir
$mt -f /dev/st0 rewind
$mt -f /dev/st0 setblk 32768
$mt -f /dev/st0 compression off
dd if="$bkpfile" of="/dev/st0" bs=32768
#---script end---

Me-restore dari file backup
Me-restore file tar hasil backup langsung dari tape device:

# /bin/tar --extract --verbose --file /dev/st0

Me-restore dengan menyalin terlebih dulu file tar dari tape device ke harddrive:
# /bin/dd if=/dev/st0 of=/home/eharianto/bkpfile.tar bs=32768
# /bin/tar --extract --verbose --file /home/eharianto/bkpfile.tar

Melihat isi dari file tar hasil backup:

# /bin/tar --list --verbose --file /home/eharianto/bkpfile.tar

Isi file /home/eharianto/exclude-backup:
*.mp3
*.avi
*.mp4
*.wma

Isi file /home/eharianto/scripts/multi-vol (saya menyalin dari manual GNU tar):

#! /bin/sh
echo Preparing volume $TAR_VOLUME of $TAR_ARCHIVE.
name=`expr $TAR_ARCHIVE : '\(.*\)-.*'`
case $TAR_SUBCOMMAND in
-c) ;;
-d|-x|-t) test -r ${name:-$TAR_ARCHIVE}-$TAR_VOLUME || exit 1
;;
*) exit 1
esac
echo ${name:-$TAR_ARCHIVE}-$TAR_VOLUME >&$TAR_FD

Nov 4, 2010

Nokia Email, Seven, dan Blackberry Connect

Di-install dan dijalankan di telepon genggam (handphone)  model lama: Nokia E61i, dengan firmware versi 3.0633.69.00.

Nokia Email


Keunggulan:
  • Tampilan (grafis, font) cukup enak dilihat oleh mata.
    Bisa di-install di memory card, sehingga lebih leluasa dalam menampung email dalam jumlah besar.
  • Ada option untuk "Mark all message as read".

Kekurangan:
  • Jika trafik email cukup besar - misalnya account untuk maillling-list dengan trafik ratusan incoming-mail per hari, maka sinkronisasi dengan server sering lambat, bahkan sampai membuat handphone menjadi freezed, dan akhirnya gagal sinkronisasi email.
  • Kurang ramah dengan tombol navigasi. Untuk berpindah ke email berikutnya (Next) atau sebelumnya (Previous) secara cepat harus menggunakan shortcut tombol "N" atau "P".
  • Tidak bisa digunakan dengan operator T*lkomsel.

Seven


Keunggulan:
  • Navigasi dalam membaca email cukup nyaman. Bisa scroll up/down, go to next/previous message dengan mudah.
  • Sinkronisasi dengan server sangat reliable, bahkan untuk email account dengan trafik ratusan incoming-mail per hari.
  • Ada option isian "Store email from past:" sehingga bisa menentukan range waktu untuk email yang ingin di-push (maksimum 30 hari terakhir).
  • Bisa digunakan untuk lebih dari 10 account email, meskipun di situsnya ditulis maksimum 10 account (Bugs?).

Kekurangan:
  • Tidak bisa memodifikasi nama lengkap ("Real Name") pengirim (sender) email. Nama pengirim email akan selalu terisi dengan alamat email-nya, bukan nama asli (
  • Tidak bisa melakukan "Mark all message as read"


Blackberry Connect


Keunggulan:
  • Sinkronisasi dengan server sangat reliable, bahkan untuk email account dengan trafik ratusan incoming-mail per hari.
  • Ada option untuk "Mark all message as read".
  • Bisa memodifikasi "Real Name" pengirim.

Kekurangan:
  • Tidak ada option untuk "Store email from past".
  • Sinkronisasi ke server tidak berjalan sepenuhnya. Email yang dihapus melalui client lain (misalnya dari webmail atau komputer desktop), tetap akan ada di handheld.