Bir VPS arızalanabilir, yanlışlıkla silinebilir ya da kötü bir güncellemeyle bozulabilir. Tek koruma, test ettiğiniz bir yedektir. Bu rehber ücretsiz araçlarla basit, otomatik, şifreli yedekler kurar.
3-2-1 kuralı
Verinizin 3 kopyasını, 2 farklı depolama türünde tutun ve 1 kopyayı tamamen başka bir yerde saklayın. Bir VPS için bu genellikle canlı veri, yerel bir anlık görüntü ve farklı bir sağlayıcıdaki ya da farklı bir ülkedeki sunucu dışı bir kopya anlamına gelir.
Neleri yedeklemeli
- Web sitesi dosyaları ve yüklemeler (
/var/www). - Önce bir dosyaya dökülen veritabanları (canlı veritabanı dosyalarını asla kopyalamayın).
- Yapılandırma:
/etc/nginx,/etcdeğişiklikleri, Docker Compose dosyaları ve birimleri. - Cron işleri ve özel betikler.
İşletim sistemini dakikalar içinde yeniden kurabilirsiniz. Yeniden kuramayacağınız şey verileriniz ve ayarlarınızdır.
Şifreli, tekilleştirilmiş yedekler için restic kullanın
sudo apt install -y restic
export RESTIC_REPOSITORY=sftp:backup@other-server:/backups/vps1
export RESTIC_PASSWORD_FILE=/root/.restic-pass
restic init
Parola dosyasını uzun rastgele bir dizeyle oluşturun ve bir kopyasını güvenli bir yerde saklayın. Bu parolayı kaybederseniz yedekler açılamaz. restic ayrıca S3 uyumlu depolamayı destekler, böylece herhangi bir nesne deposuna gönderebilirsiniz.
Bir yedekleme betiği
#!/bin/bash
set -e
export RESTIC_REPOSITORY=sftp:backup@other-server:/backups/vps1
export RESTIC_PASSWORD_FILE=/root/.restic-pass
mysqldump --single-transaction --all-databases | gzip > /var/backups/db.sql.gz
restic backup /var/www /etc /var/backups/db.sql.gz
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
Bunu /usr/local/bin/backup.sh olarak kaydedin, çalıştırılabilir yapın ve zamanlayın:
sudo chmod +x /usr/local/bin/backup.sh
echo "30 3 * * * root /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1" | sudo tee /etc/cron.d/backup
Geri yüklemeyi test edin
restic snapshots
restic restore latest --target /tmp/restore-test --include /etc/nginx
Hiç geri yüklemediğiniz bir yedek yalnızca bir umuttur. Üç ayda bir ve bir şeyi değiştirdikten sonra her zaman test edin.
Anlık görüntüler yardımcı olur ama yeterli değildir
Sağlayıcı anlık görüntüleri hızlıdır ve riskli değişikliklerden önce işe yarar, ancak aynı sağlayıcıda ve hesapta durur. Onları bir kolaylık olarak görün ve bağımsız bir sunucu dışı kopya tutun.