Linux adalah sistem operasi yang paling fleksibel di pasaran. Dengan platform sumber terbuka ini, Anda dapat melakukan jauh lebih banyak daripada yang dapat Anda lakukan dengan sistem operasi propietari Anda, tanpa mengeluarkan uang untuk perangkat lunak.
Ketika pertama kali menggunakan Linux, Anda mungkin ingin menghindari baris perintah karena terasa sedikit menakutkan. Namun, pada akhirnya, Anda mungkin akan menemukan bahwa Anda siap untuk melihat seberapa banyak kekuatan dan fleksibilitas yang dapat Anda peroleh dari distribusi pilihan Anda. Salah satu hal yang sangat berguna (dan bermanfaat) yang dapat Anda lakukan adalah belajar bagaimana melakukan backup direktori lokal ke direktori remote dengan bantuan perintah rsync. Dan itulah yang akan saya tunjukkan kepada Anda.
Siap? Mari kita mulai.
Bagaimana melakukan backup direktori Linux dengan rsync
Apa yang Anda perlukan: Untuk membuat ini berhasil, Anda memerlukan dua instance Linux, satu untuk lokal (yang berisi direktori yang ingin Anda backup) dan satu untuk remote (tempat Anda akan melakukan backup direktori tersebut). Anda juga memerlukan pengguna dengan hak sudo di kedua mesin. Terakhir, Anda perlu mengetahui alamat IP dari kedua mesin (yang dapat ditemukan dengan perintah ip a). Saya akan menunjukkan ini pada dua mesin berbasis Ubuntu. Jika Anda menggunakan distribusi berbasis Fedora atau Arch, satu-satunya hal yang perlu Anda ubah adalah perintah instalasinya.
Hal pertama yang harus dilakukan adalah menginstal rsync, yang dapat dilakukan dengan perintah berikut:
sudo apt-get install rsync -y
Selanjutnya, kita perlu mengkonfigurasi rsync di mesin remote. Buat file konfigurasi baru dengan perintah:
sudo nano /etc/rsyncd.conf
Di dalam file tersebut, tempelkan konten berikut:
[backup]
path=REMOTE_DIRECTORY
hosts allow = LOCAL_IP
hosts deny = *
list = true
uid = root
gid = root
read only = false
Di mana REMOTE_DIRECTORY adalah direktori di mesin remote yang akan menyimpan file-file yang di-backup dan LOCAL_IP adalah alamat IP untuk mesin lokal.
Simpan dan tutup file dengan pintasan keyboard Ctrl+X.
Mulai dan aktifkan rsync dengan perintah:
sudo systemctl enable –now rsync
Sekarang kita akan menguji proses backup. Di mesin lokal Anda, jalankan perintah rsync seperti ini:
rsync -avz LOCAL_DIRECTORY REMOTE_IP::backup
Di mana LOCAL_DIRECTORY adalah direktori yang ingin Anda backup dan REMOTE_IP adalah alamat IP dari mesin remote. Perhatikan “::backup”. Itu adalah nama backup yang kita gunakan dalam file konfigurasi di mesin remote (baris [backup]). Backup seharusnya berjalan dan selesai cukup cepat (kecuali jika Anda memiliki jumlah file yang besar di direktori tersebut).
Otomatisasikan backup
Seperti yang saya katakan, Linux sangat fleksibel. Kita dapat mengotomatisasi proses ini dengan bantuan cron tool bawaan. Yang akan kita lakukan adalah membuat skrip bash untuk backup dengan perintah:
nano rsync.sh
Di dalam file tersebut, ketik perintah yang sama yang Anda gunakan sebelumnya untuk menjalankan backup, hanya saja kita akan menambahkan opsi “q” untuk menekan output, sehingga terlihat seperti ini:
rsync -avzq LOCAL_DIRECTORY REMOTE_IP::backup
Simpan dan tutup file. Berikan izin eksekusi pada file tersebut dengan perintah:
chmod +x rsync.sh
Sekarang, kita akan membuat cron job dengan perintah:
crontab -e
Di dalam file tersebut, tempelkan yang berikut:
00 01 * * * /home/USER/rsync.sh
Di mana USER adalah nama pengguna Anda. Simpan dan tutup file.
Cron job baru Anda akan menjalankan backup rsync setiap hari pukul 1 pagi, sehingga Anda selalu memiliki backup terbaru dari direktori tersebut.
Dan itulah, teman-teman, semua yang perlu dilakukan untuk membuat pekerjaan backup remote dasar di Linux.