Pisuuu… Belajar Automasi Backup File dengan Bash Script
Kenapa Perlu Automasi Backup?
Kamu pasti pernah kehilangan file penting gara-gara hardisk rusak atau lupa simpan di mana. Atau mungkin datamu tiba-tiba kena ransomware. Nah, buat menghindari itu semua, ada baiknya kita buat sistem backup otomatis biar tenang. Salah satu cara iseng tapi keren adalah dengan menggunakan Bash Script!
Apa itu Bash Script?
Bash Script adalah sekumpulan perintah yang ditulis dalam file teks, dijalankan oleh shell di sistem operasi Linux atau macOS, atau di Windows lewat WSL atau Git Bash. Nantinya, script ini bisa kita jadwalkan biar jalan otomatis.
Buat Script Backup Dasar
Pertama, kita buat skrip sederhana yang bakal membackup folder tertentu ke lokasi lain. Misalnya, folder /home/username/dokumen-penting
kita backup ke /home/username/backup
.
- Buka Terminal: Cari terminal di Linux atau macOS, atau Git Bash kalau di Windows.
- Buat File Script: Misalnya
backup.sh
dengan perintah:nano backup.sh
- Tulis Script:
#!/bin/bash # Tentukan direktori yang ingin di-backup SRC="/home/username/dokumen-penting" # Tentukan lokasi backup DST="/home/username/backup" # Buat nama file backup dengan timestamp BACKUP_FILE="backup_$(date +%Y%m%d_%H%M%S).tar.gz" # Pakai tar untuk membuat arsip terkompresi tar -czf $DST/$BACKUP_FILE $SRC # Tampilkan pesan sukses echo "Backup selesai: $BACKUP_FILE"
- Simpan dan Keluar: Tekan
CTRL + X
, laluY
untuk simpan, danENTER
.
Kasih Izin untuk Menjalankan Skrip
Agar skrip bisa dijalankan, kasih izin execute
dengan perintah:
chmod +x backup.sh
Uji Coba Script
Coba jalankan dengan:
./backup.sh
Kalau tidak ada error, kamu bisa cek folder /home/username/backup
untuk melihat file backupnya dalam format .tar.gz
.
Jadwalkan Backup Otomatis dengan Cron
Supaya gak perlu inget-inget buat backup, kita bisa jadwalkan biar jalan otomatis setiap hari, setiap minggu, atau sesuka hati.
- Buka Crontab: di terminal, ketik
crontab -e
untuk edit crontab. - Buat Jadwal: Misalnya, mau backup tiap hari jam 2 pagi, tambahin baris berikut:Simpan dan keluar (CTRL + X, Y, ENTER).
0 2 * * * /path/to/your/backup.sh
Variasi Backup yang Asik
Kamu bisa kreasikan skripnya biar lebih seru:
- Enkripsi Backup: Tambahin
gpg
biar backup kamu aman. Misalnya:gpg -c $DST/$BACKUP_FILE
- Kirim ke Cloud: Bisa juga ditambahin cara
scp
untuk ngirim backup ke server lain atau pakairclone
untuk upload ke Google Drive, Dropbox, dll. - Hapus Backup Lama: Tambahin logika untuk hapus backup yang lebih dari 7 hari, misalnya:
find $DST -name "backup_*" -mtime +7 -exec rm {} \;