Sunucu yönetiminde süreklilik ve veri güvenliği açısından yedekleme işlemleri kritik öneme sahiptir. Özellikle VPS gibi dinamik ortamlarda manuel yedekleme zaman alıcı ve hataya açık olabilir. Bu noktada Ansible ile geliştirilen otomasyon çözümleri devreye girerek işleri kolaylaştırır.
1. Neden Ansible ile Yedekleme?
Ansible, agent gerektirmeyen, YAML tabanlı yapısı sayesinde kolayca genişletilebilen bir konfigürasyon yönetim aracıdır. Yedekleme görevleri için idealdir çünkü:
- SSH üzerinden doğrudan bağlantı kurar,
- Belirli klasörleri, veritabanlarını veya sistem yapılandırmalarını yedekleyebilir,
- Zamanlanabilir ve tekrarlanabilir hale gelir,
- Her şey tek bir komutla yönetilebilir.
2. VPS İçin Basit Yedekleme Playbook Örneği
Aşağıda /var/www/html
dizinini ve veritabanını günlük olarak yedekleyen bir örnek playbook yer alıyor:
- name: VPS Yedekleme Görevi
hosts: vps_sunucular
tasks:
- name: Web dosyalarını sıkıştır
archive:
path: /var/www/html
dest: /root/backup/html_backup_{{ ansible_date_time.date }}.tar.gz
format: gz
- name: Veritabanı dump oluştur
command: mysqldump -u root -p'sifre' veritabani_adi > /root/backup/db_backup_{{ ansible_date_time.date }}.sql
📌 Not: Şifrelerin playbook içinde düz metin olarak yer almaması için vault
veya ansible-pull
gibi güvenli yöntemler tercih edilmelidir.
3. Tek Tıklama Otomasyonu Nasıl Sağlanır?
Bu playbook, aşağıdaki komut ile çalıştırılarak tek adımda tüm yedekleme işlemlerini tamamlar:
ansible-playbook yedekleme.yml -i hosts.ini
Alternatif olarak bu komut, bir buton veya cronjob üzerinden tetiklenebilir. Böylece yedekleme tam anlamıyla otomatikleşir.
4. İyileştirme Önerileri
- Yedeklerin uzak bir sunucuya (rsync veya scp ile) aktarılması
- S3 veya benzeri bulut depolara yedeklerin yüklenmesi
- Günlük döngüyle eski yedeklerin silinmesi
- Slack, Telegram gibi platformlara bildirim entegrasyonu
Sonuç
Ansible ile VPS ortamlarında otomatik yedekleme sistemi kurmak, hem operasyonel kolaylık sağlar hem de veri kaybı risklerini minimize eder. Geliştirici dostu bu yaklaşım sayesinde, sistem yöneticileri yedekleme süreçlerini merkezi, güvenli ve tekrarlanabilir hale getirebilir.