Simpan berkas berikut di lokasi yang aman, yang tergantung dari model bahaya (threat model) Anda juga mengartikan perlu mengatur agar berkas hanya dapat diakses root:
#!/bin/bash
# Alamat folder pencadangan
export RESTIC_REPOSITORY="<path>"
export THINGS_TO_BACKUP = "/path1 /path2 /path3 file1 file2"
# Tingkat kompresi yang digunakan pencadangan
export RESTIC_COMPRESSION=max
# Banyak pembacaan berkas secara paralel
export RESTIC_READ_CONCURRENCY=32
# Membaca sandi dari berkas `restic.gpg` yang terenkripsi menggunakan GPG
# Pertimbangan: berkas sandi tidak dapat* diretas tanpa sandi GPG, dan
# Ketika menggunakan KeepassXC sebagai keyring, lebih mudah mengetahui
# semua proses yang memerlukan ke akses sandi GPG
export RESTIC_PASSWORD=$(gpg --decrypt $PASSWORD_PATH/restic.gpg 2> /dev/null)
# =========
# Buat log hasil pencadangan
export LOGFILE="$HOME/result.txt"
exec &> >(tee "$LOGFILE")
date
restic unlock
restic backup $THING_TO_BACKUP
# Menghapus cadangan-cadangan lawas
restic forget \
--keep-hourly 72 \
--keep-within-daily 31d \
--keep-within-weekly 52m \
--keep-within-monthly 3y \
--keep-within-yearly 20y
restic prune
Selingan: mengatur berkas agar hanya dapat diakses root:
sudo chown root:root /path/to/backup_config.sh
sudo chmod 700 /path/to/backup_config.sh
Selingan: Sertakan berkas tersebut menggunakan crontab -e (mungkin perlu menggunakan sudo, tergantung bagaimana Anda mengatur berkas itu) agar pencadangan terjadi secara berkala. Misal, dengan pengaturan setiap dua jam sekali:
0 */2 * * * /path/to/backup_config.sh
Catatan
Jangan lupa untuk sesekali mengecek integritas pencadangan, misal lewat restic check --read-data.
Catatan kaki
- Selain
RESTIC_READ_CONCURRENCY, juga adaRESTIC_FTP_CONCURRENCYuntuk mengatur banyaknya koneksi paralel yang digunakan FTP, dll. - Jika Anda juga memiliki
rclone, pencadangan olehresticdapat dilakukan ke tempat-tempat penyimpanan yang dapat diakses rclone. Sebagai contoh, folder pencadangan yang terletak di Google Drive diakses lewat perintahrestic -r gdrive:path/to/restic, Dropbox denganrestic -r dropbox:path/to/restic, dll.