Mengetahui Rsync Berhasil atau Tidak

Sebagai Engineer Operation, Backup adalah hal yang sangat penting pada suatu sistem. Backup sangat dibutuhkan apabila ada hal yang tidak diinginkan terjadi. Untuk dari itu, pentingnya melakukan backup tidak dapat diganggu gugat. Setiap sistem yang sifatnya “production” harus memiliki backup.

Salah satu alternatif untuk melakukan backup pada sistem adalah menggunakan Rsync. Alat ini biasa saya gunakan untuk melakukan backup pasif terhadap suatu sistem. Biasanya saya menjalankan rsync dengan menyisipkan nya pada suatu Bash script yang dijalankan dengan crontab pada tengah malam hari. Salah satu contoh script backupnya begini:

#!/bin/bash

rsync -avhHP --progress /folder/source /folder/destination

Sayangnya, saya sendiri tidak bisa mengetahui. Apakah backupnya berjalan dengan baik atau tidak. Mungkin selama ini mengira baik-baik saja. Jangan salah, bisa saja saat melakukan rsync, tiba-tiba backup putus ditengah jalan. Akhirnya backup tidak aman, data nya menjadi tidak konsisten.

Nah, solusinya adalah kita bisa menggunakan Exit Values dari rsync, silakan melihat pada tautan berikut: https://linux.die.net/man/1/rsync. Silakan lihat pada bagian exit Values.

Jika dilihat, apabila exit codenya = 0 maka rsync sukses. Contoh seperti berikut:

▶ rsync -av --progress source/ dest
building file list ...
2 files to consider
./
test.txt
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/2)

sent 141 bytes  received 48 bytes  378.00 bytes/sec
total size is 0  speedup is 0.00

▶ echo $?
0

Saat kita menampilkan variable $? hasilnya adalah 0. Nah, itu tandanya berhasil. Jika tidak berhasil atau ada pesan error tertentu maka akan muncul error code yang lain.

Jadi solusinya, kita bisa menambahkan exit values tersebut pada bash script. Berikut adalah contohnya:

#!/bin/bash

rsync -av --progress /folder/source /folder/destination

if [ "$?" = "0" ]; then
    echo "Backup OK" 
else 
    echo "Backup Tidak OK" 
fi

Nah, cukup mudah kan? Kamu bisa mengubah action pada bagian if else sesuai dengan keinginan. Misal, dengan mengirim notifikasi ke telegram menggunakan BOT terkait backupnya apakah aman atau tidak.

Begitulah kurang lebih, terima kasih, hatur nuhun.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.