Di server backup setiap jam akan dilakukan proses backup ke USB, yang akan dilakukan sebagai offline backup. Permasalahannya terletak pada USB yang menggunakan Seagate akan masuk ke dalam mode sleeping walaupun terdapat proses pada USB Drive tersebut. Hal ini adalah normal mengingat; apabila Drive yang terdapat dalam USB Drive tersebut selalu dihidupkan maka kemungkinan yang terjadi adalah kerusakan permanen pada media ini.

Berikut script backup yang Saya gunakan …

#!/bin/sh
# ini digunakan untuk update data yang di backup ke directory now setiap jam

backup_usb="/backup.usb";
backup_device_UID="ef4d15f4-55a9-4e7c-97b8-36c227b1744b";
rsync_source="/backup/snapshot_data_main_lpse/hourly.0/data-main-app.lpse/";

now_dir="$backup_usb/now";

# make sure main backup by rsnapshot doesn't run
while [ -f /var/run/rsnapshot.pid ]; do
        # if in run then sleep for 2 minutes
        sleep 2 m
done;

if [ ! -f /backup.usb/amiexist.yet ]; then
        echo "drive not mounted";

        umount "$backup_usb/"

        # remount device dulu jaga-jaga tidak di mount
        #mount -o remount,rw -t ext3 -U $backup_device_UID $backup_usb ;
        #if (( $? )); then
        #    echo "snapshot die? try to mount now";
        #while [ ! -f /backup.usb/amiexist.yet ]; do
            mount -t ext3 -U $backup_device_UID $backup_usb ;
            #make sure it mounted, we wait!
            sleep 1 m
        #done;
        #fi;
fi;

# lalu di rsync
rsync -a --delete "$rsync_source" "$now_dir/"

# update directory yang jdi sasaran
touch "$now_dir"

Pada bagian umount “$backup_usb/”, setelah backup_usb tersebut di umount maka script kemudian melakukan mount lagi untuk memastikan bahwa USB Drive ini bisa di mount. Ternyata terjadi kegagalan dan proses script dibawahnya melakukan rsync, bedanya kali ini space yang ditulis adalah yang di hardisk dan bukan di USB Drive.

Akibatnya root langsung FULL.

Solusinya adalah menghapus folder hasil rsync di hardisk local.

Iklan