Thread Starter
#0
Veri yedekleme, her sistem yöneticisinin kritik görevlerinden biridir. Yedekleme işlemleri, veri kaybını önlemek ve sistemin geri yüklenmesini sağlamak amacıyla yapılır. Ancak, zamanla yedekleme dosyaları büyük miktarda depolama alanı tüketebilir. Bu noktada, yedekleme dosyalarının düzenli bir şekilde döndürülmesi (rotate) işlemi devreye girer. Yedekleme döngüsü, eski yedeklerin otomatik olarak silinmesini ve yalnızca belirli sayıda yedek dosyasının saklanmasını sağlar.
Aşağıda, basit bir backup rotate scriptinin nasıl yazılabileceği ile ilgili bir örnek bulabilirsiniz. Bu örnekte, bir dizindeki yedek dosyalarının sayısını kontrol ederek, belirli bir sayının üstündeki dosyaları silen bir bash scripti oluşturacağız.
Bu scriptin temel işlevi, belirtilen dizindeki yedek dosyalarını saymak ve eğer bu sayı belirlenen maksimum sayıyı aşarsa, en eski dosyaları silmektir. Bu işlem, sistemin gereksiz yere depolama alanı tüketmesini engeller ve yönetimini kolaylaştırır.
Ayrıca, bu scripti cron ile zamanlayarak belirli aralıklarla otomatik çalışmasını sağlayabilirsiniz. Örneğin, her gece saat 3'te bu işlemi gerçekleştirmek için aşağıdaki gibi bir cron girişi ekleyebilirsiniz:
Yedekleme stratejinizin etkinliğini artırmak için, bu scripti ihtiyaçlarınıza göre özelleştirebilir ve farklı yedekleme yöntemleri ile birleştirebilirsiniz.
Aşağıda, basit bir backup rotate scriptinin nasıl yazılabileceği ile ilgili bir örnek bulabilirsiniz. Bu örnekte, bir dizindeki yedek dosyalarının sayısını kontrol ederek, belirli bir sayının üstündeki dosyaları silen bir bash scripti oluşturacağız.
CODE
123456789101112131415161718
#!/bin/bash
[b]Yedek dosyalarının bulunduğu dizin[/b]
backup_dir="/path/to/your/backup"
[b]Saklanacak maksimum yedek dosya sayısı[/b]
max_backups=5
[b]Yedek dosyalarını say[/b]
backup_count=$(ls -1 $backup_dir | wc -l)
[b]Eğer yedek dosya sayısı maksimum sınırı aşarsa, eski dosyaları sil[/b]
if [ "$backup_count" -gt "$max_backups" ]; then
# En eski dosyayı sil
files_to_delete=$((backup_count - max_backups))
ls -t $backup_dir | tail -n $files_to_delete | xargs -I {} rm $backup_dir/{}
fi
Bu scriptin temel işlevi, belirtilen dizindeki yedek dosyalarını saymak ve eğer bu sayı belirlenen maksimum sayıyı aşarsa, en eski dosyaları silmektir. Bu işlem, sistemin gereksiz yere depolama alanı tüketmesini engeller ve yönetimini kolaylaştırır.
Ayrıca, bu scripti cron ile zamanlayarak belirli aralıklarla otomatik çalışmasını sağlayabilirsiniz. Örneğin, her gece saat 3'te bu işlemi gerçekleştirmek için aşağıdaki gibi bir cron girişi ekleyebilirsiniz:
CODE
12
0 3 * * * /path/to/your/script.sh
Yedekleme stratejinizin etkinliğini artırmak için, bu scripti ihtiyaçlarınıza göre özelleştirebilir ve farklı yedekleme yöntemleri ile birleştirebilirsiniz.