Merhabalar,
Tamda yeni konu açmayı düşünürken konuyu gördüm. Umarım istediğim şey mümkündür.
Aşağıdaki rsync kodu ile bir sunucudan yedek sunucuma dosyaları çekebiliyorum. Değişiklik olan dosyaları otomatik olarak değiştiriyor.
rsync -av root@ipadresi:/site/dosya/dizini /yedek/sunucu/dosya/dizini
İstediğime gelince kaynak sunucuda abc.php dosyası değiştirildiği zaman. Yedek sunucumda bulunan abc.php değiştirilmeden önce yedek sunucuda degisiklikler diye bir klasör oluşturup (yoksa oluştur varsa içine at) yedek sunucusundaki abc.php dosyasını abc.php-23.10.2015-15:02:01 ismi ile değiştirildiği tarihin saniyesine kadar yazacak (tarihi timestamp türünde de olabilir yani ismini abc.php-1445612521 şeklinde de yapabilir)
değişen dosyanın yedeğini alıpta değiştirecek.
Böylece hatalı bir işlem olduğu zaman yedek sunucumdan geri dönebileceğim birşey gerekiyor.
Biraz araştırma yaptığımda bash ile bazı betikler inceledim ama tam istediğim şeyi bulamadım.
Asıl amacım tam olarak şöyle;
Sunucumu rsync ile her dakika kontrol etmek ve değişiklikleri anında yedek sunucuya almak. Fakat yedek sunucunda da eski sürümlerini sürekli olarak tutmak istiyorum. Sorun yaşamam durumunda yedek sunucuda değişen versiyonlarını kontrol ederek geriye dönüş sağlayabilmek.
Bir sonraki aşamada da yapmak istediğim yedek sunucu içerisinde gün sonunda yedeğini aldığım dosyaları 23102015 diye klasör oluşturup kendi içinde tekrar zipli yedek alıp yedek sunucu içindeki asıl yedeklerde üste oluşturduğu degisiklikler klasörünü silmek. Böylece günlük yedeklerimin içinde full gün sonu yedeğimin yanında sadece o gün içinde değiştirilen dosyalar olacak. ve çok oluyorum ama son 30 günlük zipli yedek olacak. 31. günün yedeği sunucudan silinecek.