Rsync yardımcı programını kullanarak dosya ve klasörleri kopyalama ve yedekleme | INTROSERV
EUR
european

EUR

usa

USD

Turkish Tr
Ex. VAT Ex. VAT 0%

Rsync yardımcı programını kullanarak dosya ve klasörleri kopyalama ve yedekleme

Rsync, dosya ve klasörleri kopyalamak için hızlı ve çok yönlü bir araçtır. Bu yardımcı program, verileri hem yerel olarak hem de INTROSERV'in Cloud Storage'ı da dahil olmak üzere diğer sunuculara kopyalayabilir. Yardımcı programın seçenekleri, veri kopyalama ve yansıtmanın birçok yönünü kontrol etmenizi sağlar. Yararlı özelliklerden biri, aktarım sırasında verileri sıkıştırma yeteneğidir; bu, ağ bant genişliği sınırlayıcı faktör olduğunda ağ trafiğini azaltabilir ve aktarım hızını artırabilir. Diğer bir avantaj ise Rsync'in güncellenmesi gerekmeyen dosyaları aktarmaktan kaçınmasıdır. Varsayılan olarak, dosya boyutunu ve değiştirilme zamanını karşılaştırır ve yalnızca değişmiş görünen dosyaları aktarır; bu da büyük dizinleri senkronize ederken kuşkusuz zaman kazandırır.

Info

Neden -a bayrağı kullanılmalı? -a (archive) seçeneği en yaygın tercihtir. Özyinelemeli kopyalamayı etkinleştirir ve izinler, sahiplik, grup, değiştirilme zamanları ve sembolik bağlantılar gibi ortak dosya niteliklerini korur. -a zaten özyinelemeyi içerdiğinden, ayrıca -r eklemenize gerek yoktur.

Yardımcı program seçenekleri

SSH protokolünü kullanarak dosya ve dizinleri uzaktaki INTROSERV Cloud Storage'a kopyalamak için Rsync kullanımına ilişkin örneklere bakalım.

Info

Bu komutlar evrenseldir. SSH üzerinden herhangi bir uzak sunucuyla dosyaları senkronize etmek için hedef adresi ve yolu değiştirmeniz yeterlidir.

En sık kullanılacak olan yardımcı programın başlıca seçeneklerine bir göz atalım. Mevcut seçeneklerin daha ayrıntılı bir listesi man belgelerinde (man rsync komutu) bulunabilir:

-v – işlem hakkında ayrıntılı bilgi görüntüler
-c – dosya sağlama toplamlarını kontrol eder
-q – minimum bilgi
-a – arşivleme modu
-R – göreli yollar
-y – daha yeni dosyaların üzerine yazma
-b – yedek kopya oluşturur
-l – sembolik bağlantıları kopyalar
-L – bağlantıların içeriğini kopyalar
-H – sabit bağlantıları kopyalar
-g – grubu kaydeder
-p – dosya izinlerini korur
-t – değiştirilme zamanını kaydeder
-x – yalnızca bu dosya sisteminde çalışır
-e – başka bir aktarım protokolü kullanır (örneğin, ssh)
-z – aktarımdan önce dosyaları sıkıştırır
--delete – kaynakta bulunmayan dosyaları siler
--exclude – dosyaları hariç tutar
--recursive – dizinleri özyinelemeli olarak listeler
--no-recursive – özyinelemeyi devre dışı bırakır
--progress – dosya aktarım ilerlemesini gösterir
--stat – aktarım istatistiklerini gösterir
--max-size – aktarım için maksimum dosya boyutu
--bwlimit – dosya aktarımları için hız sınırı

Söz dizimi hakkında kısa açıklama

Warning

Sondaki eğik çizgi (/) kuralı. Çoğu kullanıcının hata yaptığı nokta burasıdır: /klasor (eğik çizgi olmadan) klasörün kendisini kopyalar. /klasor/ (eğik çizgi ile) yalnızca klasörün içeriğini kopyalar.

rsync -az --progress /home/user/test.file boxxxx@storage_ip:/remote_folder/

-a – arşiv modu: dosya niteliklerini koruyan özyinelemeli bir kopya

-z – aktarım sırasında verileri sıkıştırır

--progress – aktarım ilerlemesini gösterir

/home/user/test.file – bu, aktarılması gereken dosyanın yolu ve dosyanın kendisidir

boxxxx@storage_ip: – bu, hedef kaynaktır (örneğimizde bu bir bulut depolama alanıdır, ancak uzak bir sunucu da olabilir). boxxxx kullanıcı adıdır, @ işaretinden sonra kaynak adı veya uzak sunucunun IP adresi gelir

/remote_folder/ – bu, uzak bir kaynak üzerindeki bir klasördür. Örneğimizde, INTROSERV Cloud Storage içinde.

Bir dosyayı uzak depolamadaki bir klasöre kopyalama

rsync -az --progress /home/user/Desktop/test.file boxxxx@storage_ip:/remote_folder/

Depolamaya bağlanmak için şifre girmeniz istenecektir. Şifreyi girin ve devam edin; dosyanın aktarım ilerlemesini ve hızını göreceksiniz.

Bir klasörü uzak depolamadaki bir klasöre kopyalama

Kaynak klasör ve hedef klasör satırlarındaki eğik çizgilere dikkat edin. Kaynak klasörde eğik çizginin bulunmaması, yerel Desktop klasörünün kendisini, tüm içeriğiyle birlikte remote_folder klasörüne aktarmak istediğimiz anlamına gelir.

rsync -az --progress /home/user/Desktop boxxxx@storage_ip:/remote_folder/

Dizinin ve içindeki tüm dosyaların aktarıldığını göreceksiniz.

Yerel bir klasörün içeriğini uzak depolamadaki bir klasöre kopyalama

Kaynak klasörün sonundaki eğik çizgiye dikkat edin. Bunun bulunması, yardımcı programın yerel klasörün içeriğini uzak depolamadaki bir klasöre kopyalaması gerektiği anlamına gelir.

rsync -az --progress /home/user/Desktop/ boxxxx@storage_ip:/remote_folder/

İlerlemeyi ve kopyalama hızını göreceksiniz.

Bir klasörü uzak depolamadan yerel sunucudaki bir klasöre kopyalama

Rsync ile uzak depolamadan bir klasörün kopyalanmasını başlatabilirsiniz. Komut şu şekildedir:

rsync -az --progress boxxxx@storage_ip:/remote_folder /home/user/Desktop/

Uzak bir klasörün yerel sunucudaki bir klasöre kopyalanmasının ilerlemesini ve hızını göreceksiniz.

Bir klasörün içeriğini uzak depolamadan yerel sunucudaki bir klasöre kopyalama

Burada da kaynak klasör yolunun sonundaki eğik çizgiye dikkat etmekte fayda var. Bunun bulunması, yalnızca klasörün içeriğinin kopyalanması gerektiği anlamına gelir.

rsync -az --progress boxxxx@storage_ip:/remote_folder/ /home/user/Desktop/

Dosyaları hariç tutarak ve/veya dahil ederek bir klasörün içeriğini kopyalama

Yardımcı program, hangi dosyaların aktarılacağını ve hangilerinin hariç tutulacağını açıkça belirtmenizi sağlar. Bunun için --include ve --exclude seçeneklerini kullanın. Kurallar sırayla işlenir, bu nedenle bir dahil etme kuralı, aksi takdirde aynı dosyayla eşleşecek bir hariç tutma kuralından önce gelmelidir.

Tip

Kuru çalıştırma ile test edin. Birçok dosyayı değiştiren veya silen bir komutu çalıştırmadan önce -n veya --dry-run bayrağını ekleyin. Rsync, gerçekte hiçbir şeyi taşımadan veya silmeden tam olarak ne yapacağını size gösterecektir.

rsync -az --progress --include='test.file' --exclude='*' /home/user/Desktop/ boxxxx@storage_ip:/remote_folder/

Bu komut test.file dosyasını aktarır ve kaynak dizindeki diğer her şeyi hariç tutar. Aktarımı yalnızca dahil edilen tek dosyayla sınırlayan şey --exclude='*' kuralıdır, bu nedenle burada her iki seçenek de birlikte gereklidir.

Yalnızca hedef klasördeki dosyalardan farklı olan dosyaları kopyalama

Rsync, varsayılan olarak bir dosyanın aktarılması gerekip gerekmediğine boyutuna ve değiştirilme zamanına göre karar verir. Rsync'in bunun yerine dosya içeriğini sağlama toplamına göre karşılaştırmasını istediğinizde -c seçeneğini kullanın. Bu, zaman damgalarına güvenilemediğinde daha güvenilirdir, ancak her iki tarafın da sağlama toplamlarını hesaplamak için dosyaları okuması gerektiğinden daha yavaştır.

rsync -azc --progress /home/user/Desktop/ boxxxx@storage_ip:/remote_folder/

-c ile Rsync, kaynak ve hedef dosyaların içeriğini sağlama toplamlarını kullanarak karşılaştırır ve yalnızca içeriği farklı olan dosyaları aktarır.

Standart olmayan bir SSH portu ile SSH üzerinden Rsync kullanma

SSH portu değiştirilmiş bir sunucuya/sunucudan dosya aktarmak için -e 'ssh -p port_number' seçeneğini kullanın.

SSH portu 44 olarak değiştirilmiş bir sunucuya bir dosya kopyalamak için komut şu şekilde olacaktır:

rsync -azc --progress -e 'ssh -p 44' /home/user/Desktop/ user@server_ip:/remote_folder/

Info

Güvenlik notu: Varsayılan SSH portunu değiştirmek, otomatik taramaları ve istenmeyen bağlantı denemelerini azaltabilir, ancak anahtar tabanlı kimlik doğrulama ve güvenlik duvarı kuralları gibi uygun SSH güvenliğinin yerini tutmaz. Güvenlik duvarınızın seçtiğiniz porttaki trafiğe her zaman izin verdiğinden emin olun.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA