rsync
rsync nedir?
rsync’i Andrew Tridgell ve Paul Mackerras yazdı. İlk açık konuşma 1996’dır. Komut iki klasörü karşılaştırır. Değişmeyen dosyayı atlar. Değişen dosyanın yalnız farklı parçasını gönderebilir. Bu yüzden büyük ağacın ikinci kopyası birinciden kısa olur. Uzak makineye giderken yolu çoğu zaman SSH taşır. rsync, SSH’nin kendisi değildir. Yalnız onun üstünden dosya taşır. Satırın sonundaki eğik çizgi anlamı değiştirir. Klasör adından sonra eğik çizgi koymak içindekileri kopyalar. Koymamak klasörün kendisini de götürür.
rsync ne için kullanılır?
rsync yedek ve iki klasörü aynı tutmak içindir. Her sefer bütün diski kopyalamamak içindir.
- Site dosyasını başka sunucuya götürmek
- Her gece yalnız değişeni yedeğe yazmak
- İki klasörü karşılaştırmak
- Büyük dosyanın yarım kopyasını sürdürmek
rsync ile ne yapılabilir?
rsync ile klasörü başka yere yakın tutarsın. Dosyanın içindeki programı çalıştırmaz. Yalnız baytları götürür. --delete uzaktaki fazla dosyayı siler. Bunu yanlış klasörde çalıştırmak oradaki dosyaları götürür. Önce deneme bayrağı ile bakmak gerekir. Parola komutun içine yazılırsa geçmişte kalabilir.
rsync öğrenmek zor mu?
Bir klasörü kopyalamak kolaydır. Zorluk eğik çizgi ve silmededir. Sonda eğik çizgi olup olmaması başka yere yazar. --delete yanlış hedefte çalışınca geri getirmek zor olur. Uzak makinenin yolu veya kullanıcısı yanlışsa hiçbir şey gitmez. Saat farkı bazen taze dosyayı eski sayar. Bu yüzden ilk bakış silmeden ve denemeyle yapılır.
Avantajları ve sınırları
Avantaj: ikinci kopya kısa olur, değişmeyen dosya yeniden gelmez, uzak sunucuya gidebilir. Sınır: yanlış silme geri zor döner. rsync, cp değildir ve SSH değildir.
Temel kavramlar
Kaynak dosyanın çıktığı yerdir. Hedef gittiği yerdir. Fark ise zaten aynı olmayan parçadır.
- Değişmeyen dosya atlanır
- Eğik çizgi klasörün anlamını değiştirir
- --dry-run yalnız gösterir
- --delete hedefte fazla dosyayı siler
Kısa örnek
Bu komut bir klasörün içindekileri başka klasöre yakın tutar. Silmez. Yalnız gösterilen yola yazar.
rsync -a source/ backup/
Sık sorulan sorular
- rsync ve cp aynı mı? Hayır. cp dosyayı olduğu gibi kopyalar. rsync değişmeyeni atlamaya ve farklı parçayı göndermeye çalışır.
- rsync ve SSH aynı mı? Hayır. SSH uzak makineye girer. rsync dosya taşır ve yolu SSH taşıyabilir.
- Eğik çizgi önemli mi? Evet. source/ içindekileri götürür. source klasörün kendisini de götürür.