OffshoreVps
Güvenlik25 Eyl 20266 dk okumaYazan: OffshoreVps ekibi

VPS’i Restic veya Borg ile yedekleyin

İkinci bir sunucuya şifreli, tekilleştirilmiş yedekler: restic ve borg komutları, veritabanı dökümleri, saklama süresi, zamanlama ve geri yüklemeyi test etme.

Geri yükleyebildiğiniz bir yedek, can sıkıcı bir öğleden sonra ile bir projeyi kaybetmek arasındaki farktır. Temel VPS yedekleme rehberi fikri anlatır. Bu rehber restic ve BorgBackup ile daha ileri gider: ikinci bir sunucuya veya nesne depolamaya şifreli, tekilleştirilmiş yedekler alan iki araç.

VPS’i restic veya borg ile yedeklemek için kullanılan komutları gösteren VPS üzerindeki terminal penceresi, “sudo apt install -y restic” ile başlıyor
Bu rehberde sunucunuzda çalıştıracağınız komutlardan örnekler.

Düz kopyalar yerine neden restic veya borg

  • Tekilleştirme. Yalnızca değişen veriler saklanır, böylece günlük anlık görüntüler küçük kalır.
  • Şifreleme. Veriler sunucunuzdan çıkmadan önce şifrelenir.
  • Anlık görüntüler. Geçmişteki herhangi bir günün durumunu geri yükleyebilirsiniz.
  • Doğrulama. Her iki araç da depo bütünlüğünü kontrol edebilir.

Birini seçin. Restic basittir ve SFTP ile S3 uyumlu depolama dahil birçok depolama türüyle çalışır. Borg çok verimlidir ve borg kurulu bir sunucuya SSH üzerinden çalışır.

Yedekler nereye gönderilmeli

Tek yedeği asla aynı sunucuda tutmayın. Başka bir konumdaki ikinci bir VPS’i, S3 uyumlu bir kovayı veya bir depolama kutusunu kullanın. Büyük diskli küçük bir VPS, ucuz bir yedekleme hedefi olur. VPS planlarına bakın.

Restic: kurulum

sudo apt install -y restic
export RESTIC_REPOSITORY="sftp:backup@backup.example.com:/srv/restic/myserver"
export RESTIC_PASSWORD_FILE=/root/.restic-pass
restic init

Uzun, rastgele bir parolayla parola dosyasını oluşturun ve bir kopyasını çevrimdışı saklayın. Bu parola olmadan yedekler geri yüklenemez.

restic backup /etc /home /var/www --exclude-caches
restic snapshots
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
restic check
Bu rehberin adımları sırasıyla: 1. Düz kopyalar yerine neden restic veya borg; 2. Yedekler nereye gönderilmeli; 3. Restic: kurulum; 4. Veritabanları özen gerektirir; 5. Zamanlayın; 6. Geri yüklemeyi test edin
Bu rehberdeki adımlar sırasıyla.

Borg: kurulum

sudo apt install -y borgbackup
export BORG_REPO="ssh://backup@backup.example.com/srv/borg/myserver"
borg init --encryption=repokey-blake2
borg create --stats --compression zstd ::'{hostname}-{now:%Y-%m-%d}' /etc /home /var/www
borg prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6
borg check

Depo anahtarını borg key export ile dışa aktarın ve saklayın.

Veritabanları özen gerektirir

Çalışan veritabanı dosyalarını kopyalamayın. Önce döküm alın ve dökümü yedekleyin:

mysqldump --single-transaction --all-databases | gzip > /var/backups/db.sql.gz
sudo -u postgres pg_dumpall | gzip > /var/backups/pg.sql.gz

Zamanlayın

Yedeği bir systemd zamanlayıcısı veya cron ile çalıştırın. Basit bir cron satırı:

15 3 * * * root /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Hata durumunda kendinize uyarı gönderin; örneğin betiğin sonunda bir izleme ping’i ile.

Geri yüklemeyi test edin

restic restore latest --target /tmp/restore-test --include /etc/nginx
ls /tmp/restore-test

Zaman zaman yedek bir makinede gerçek bir geri yükleme testi yapın. Hiç test etmediğiniz bir yedek yalnızca bir umuttur.