VPS Sunucuda Cron Backup

VPS sunucularında veri bütünlüğünü korumak ve olası arızalara karşı hazırlıklı olmak, her sistem yöneticisinin öncelikli görevlerindendir.

Reklam Alanı

VPS sunucularında veri bütünlüğünü korumak ve olası arızalara karşı hazırlıklı olmak, her sistem yöneticisinin öncelikli görevlerindendir. Cron job’lar, Unix tabanlı sistemlerde düzenli görevleri otomatikleştirmek için vazgeçilmez bir araçtır. Bu makalede, VPS ortamında cron ile backup süreçlerini kurma, script geliştirme ve zamanlama adımlarını detaylı olarak ele alacağız. Bu yaklaşım, manuel müdahaleyi minimize ederek zaman tasarrufu sağlar ve veri kaybı riskini önemli ölçüde azaltır. Adım adım rehberimizle, kendi VPS’inizde güvenilir bir yedekleme sistemi oluşturabileceksiniz.

Cron Job’ların VPS Sunucuda Yapılandırılması

Cron, Linux tabanlı VPS sunucularda periyodik görevleri çalıştırmak için kullanılan dahili bir planlayıcıdır. VPS sağlayıcınızın panelinden SSH erişimiyle sunucunuza bağlanarak crontab dosyasını düzenleyebilirsiniz. Öncelikle, mevcut cron işlerini görüntülemek için crontab -l komutunu çalıştırın. Yeni işler eklemek üzere crontab -e ile editöre geçin. Bu dosya, her satırda dakika, saat, gün, ay ve haftanın günü gibi zaman birimlerini içeren bir syntax kullanır. Örneğin, günlük bir görevi gece yarısı çalıştırmak için 0 0 * * * /path/to/script.sh şeklinde bir satır ekleyebilirsiniz.

Kurulumu tamamlamak için, cron servisinin aktif olduğundan emin olun: sudo systemctl status cron ile kontrol edin ve gerekirse sudo systemctl start cron ile başlatın. VPS’te root erişimiyle çalışıyorsanız, sistem genel cron tablosu için /etc/crontab dosyasını da tercih edebilirsiniz. Bu yapılandırma, backup scriptlerinizin sorunsuz çalışmasını sağlar. Pratik bir örnek olarak, haftalık yedekleme için 0 2 * * 0 /backup/daily.sh satırını ekleyin; bu, her Pazar sabahı saat 02:00’de scripti tetikler. Bu adımlar, VPS’inizin kararlılığını artırır ve bakım yükünü hafifletir.

Etkili Backup Scriptleri Geliştirmek

Dosya ve Klasör Yedekleme Scripti

Dosya tabanlı yedeklemeler için basit bir Bash scripti oluşturun. Önce /backup dizinini oluşturun: sudo mkdir -p /backup. Ardından daily_backup.sh adlı scripti şu içerikle hazırlayın:

#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
tar -czf /backup/files_$DATE.tar.gz /var/www/html /etc/nginx
echo "Yedekleme tamamlandı: $(date)" >> /var/log/backup.log

Scripti çalıştırılabilir hale getirin: chmod +x /backup/daily_backup.sh. Bu script, web dosyalarınızı ve Nginx konfigürasyonlarını sıkıştırılmış arşiv olarak kaydeder. Eski yedekleri temizlemek için script sonuna find /backup -name "*.tar.gz" -mtime +7 -delete ekleyin; bu, 7 günden eski dosyaları siler. VPS depolama alanınızı optimize eder ve 50 GB’lık bir site için yaklaşık 5-10 dakikada tamamlanır. Düzenli test ederek scriptin güvenilirliğini doğrulayın.

Veritabanı Yedekleme Entegrasyonu

MySQL veritabanı yedekleri için scriptinize mysqldump entegre edin. Script örneğinde şu satırları ekleyin: mysqldump -u root -p'password' --all-databases > /backup/db_$DATE.sql. Parolayı güvenli tutmak adına ~/.my.cnf dosyasında saklayın ve izinleri chmod 600 ile kısıtlayın. Tam script, dosya ve veritabanı yedeklerini birleştirerek kapsamlı koruma sağlar. VPS’te 1 GB veritabanı için yedekleme süresi 2-5 dakika sürer. Ardından SQL dosyasını sıkıştırın: gzip /backup/db_$DATE.sql. Bu yöntem, restore işlemini hızlandırır ve veri tutarlılığını korur.

Cron Zamanlama ve Sistem İzleme

Zamanlama Syntax’ı ve Örnekler

Cron syntax’ı şu şekildedir: dakika (0-59), saat (0-23), gün (1-31), ay (1-12), hafta günü (0-7). Daklık yedekleme için * * * * * /script.sh, aylık için 0 0 1 * * /script.sh kullanın. VPS yükünü yönetmek adına, yoğun saatlerden kaçının; örneğin, gece 03:00’de 0 3 * * * /backup/full.sh. Birden fazla iş eklerken çakışmaları önleyin. Pratik takeaway: Zamanlamaları crontab -l ile düzenli inceleyin ve man 5 crontab ile syntax’ı öğrenin. Bu, VPS performansını korurken yedeklemeleri kesintisiz kılar.

Loglama ve Hata Yönetimi

Her cron işine çıktı yönlendirmesi ekleyin: 0 2 * * * /backup/script.sh >/var/log/backup.log 2>&1. Bu, hataları yakalar. Mail bildirimi için [email protected] satırını crontab başına ekleyin. VPS’te /var/log/syslog veya /var/log/cron.log dosyalarını tail -f ile izleyin. Hata durumunda scriptinize if [ $? -ne 0 ]; then echo "Hata!" | mail -s "Backup Hatası" [email protected]; fi kontrolü koyun. Bu proaktif yaklaşım, sorunları erken tespit eder ve kurtarma süresini kısaltır. Düzenli log rotasyonu için logrotate kullanın.

Sonuç olarak, VPS sunucunuzda cron tabanlı backup sistemi kurmak, veri güvenliğinizi profesyonel seviyeye taşır. Bu rehberdeki adımları uygulayarak, özelleştirilmiş scriptler ve zamanlamalarla tam otomasyon sağlayabilirsiniz. Düzenli testler ve güncellemelerle sisteminizi güçlendirin; böylece iş sürekliliğinizi riske atmadan büyüyebilirsiniz. Pratik uygulamalarla başlayın ve VPS’inizin yedekleme rutini haline getirin.

Kategori: Genel
Yazar: Meka
İçerik: 598 kelime
Okuma Süresi: 4 dakika
Zaman: Bugün
Yayım: 06-03-2026
Güncelleme: 06-03-2026