Content
- Rsync hakkında daha fazla bilgi
- Yardımcı program seçenekleri
- Kısa sözdizimi açıklaması
- Bir dosyayı uzak depolama alanındaki bir klasöre kopyalama
- Klasörü uzak depolama alanındaki klasöre kopyalama
- Yerel bir klasörün içeriğini uzak depolama alanındaki bir klasöre kopyalama
- Bir klasörü uzak depolama biriminden yerel sunucu klasörüne kopyalama
- Bir klasörün içeriğini uzak depolama alanından yerel sunucu klasörüne kopyalama
- Dosyalar hariç ve/veya dahil olmak üzere bir klasörün içeriğini kopyalama
- Yalnızca hedef klasördeki dosyalardan farklı olan dosyaları kopyalayın
- Standart olmayan bir SSH portu ile SSH üzerinden Rsync kullanma
Rsync yardımcı programını kullanarak dosya ve klasörleri kopyalama ve yedekleme
Rsync hakkında daha fazla bilgi
Rsync, dosya ve klasörleri kopyalamak için hızlı ve çok yönlü bir araçtır. Yardımcı program, verileri hem yerel olarak hem de Introserv'in Bulut Depolaması dahil olmak üzere diğer ana bilgisayarlara kopyalayabilir.
Yardımcı program seçenekleri, veri kopyalama ve yansıtmanın birçok yönünü kontrol etmenizi sağlar.
Ana özelliklerden biri, sunucular arasında kopyalama işlemini hızlandırmanıza olanak tanıyan gönderme sırasında verileri sıkıştırma yeteneğidir.
Diğer bir avantaj ise aynı dosyaları kopyalarken istisna olmasıdır. Bu nedenle, yalnızca farklı dosyalar kopyalanacak veya aktarılacaktır, bu da şüphesiz büyük dizinleri senkronize ederken zaman kazandıracaktır.
Yardımcı program seçenekleri
SSH protokolünü kullanarak Introserv'den uzak Bulut Depolamaya dosya ve dizin kopyalamak için Rsync kullanma örneklerine bakalım. Önemli! Benzer komutlar, yalnızca hedef sunucuyu belirterek, dizinleri ve dosyaları SSH aracılığıyla herhangi bir uzak sunucuya kopyalamanıza izin verecektir.
Şimdi en sık kullanılacak bazı ana yardımcı program seçeneklerine bir göz atalım. Mevcut seçeneklerin daha ayrıntılı bir listesi man belgelerinde(man rsync komutu) mevcuttur:
-v - süreç hakkında ayrıntılı bilgi görüntüler
-c - dosya sağlama toplamlarını kontrol et
-q - minimum bilgi
-a - arşivleme modu
-R - göreli yollar
-y - yeni dosyaların üzerine yazma
-b - yedek kopya oluştur
-l - sembolik bağlantıları kopyala
-L - bağlantıların içeriğini kopyala
-H - sabit bağlantıları kopyala
-g - grubu kaydet
-p - dosya izinlerini koru
-t - değişiklik zamanını kaydet
-x - yalnızca bu FS'de çalışır
-e - başka bir aktarım protokolü kullanın (örneğin, ssh)
-z - dosyaları aktarmadan önce sıkıştırır
--delete - kaynakta olmayan dosyaları siler
--exclude - dosyaları hariç tut
--recursive - dizinleri özyinelemeli olarak numaralandırır
--no-recursive - özyinelemeyi devre dışı bırak
-progress - dosya aktarım ilerlemesini görüntüler
--stat - aktarım istatistiklerini göster
--max-size - aktarım için maksimum dosya boyutu
--bwlimit - dosya aktarımları için hız sınırı
Kısa sözdizimi açıklaması
rsync -az --progress /home/kullanıcı/test.file boxxxx@boxxxxx.introserv.cloud:/remote_folder/
Aktarılan dosyanın arşivlenmesi, aktarılmadan önce sıkıştırılması ve ayrıca kopyalama ilerlemesinin ekranda görüntülenmesi gerektiğini belirten-az --progress seçenekleri;
/home/user/test.file bu dosyanın yolu ve aktarılması gereken gerçek dosyanın kendisidir;
boxxxx@boxxxxx.introserv.cloud: bu hedef kaynaktır (örneğimizde bulut depolama alanıdır, ancak uzak bir sunucu da olabilir) boxxxx kullanıcı adıdır, @ işaretinden sonra uzak sunucunun kaynak adı veya IP adresidir;
/remote_folder/ bu uzak kaynaktaki bir klasördür. Örneğimizde - Introserv Cloud Storage'da.
Bir dosyayı uzak depolama alanındaki bir klasöre kopyalama
rsync -az --progress /home/user/Desktop/test.file boxxxxx@boxxxxx.introserv.cloud:/remote_folder/
Depolamaya bağlanmak için sizden bir şifre istenecektir:
Parolayı girin ve devam edin, ilerlemeyi ve dosya aktarım hızını göreceksiniz:
Klasörü uzak depolama alanındaki klasöre kopyalama
Kaynak klasör ve hedef klasör satırlarındaki eğik çizgilere dikkat edin. Kaynak klasörde eğik çizgi olmaması, yerel Desktop klasörünü tüm içeriğiyle birlikte remote_folder klasörüne özyinelemeli olarak aktarmak istediğimizi gösterir
rsync -azr --progress /home/user/Desktop boxxxx@boxxxx.introserv.cloud:/remote_folder/
Dizinin ve içindeki tüm dosyaların aktarıldığını göreceksiniz:
Yerel bir klasörün içeriğini uzak depolama alanındaki bir klasöre kopyalama
Kaynak klasörün sonundaki eğik çizgiye dikkat edin. Eğik çizginin varlığı, yardımcı programın yerel klasörün içeriğini uzak depolama alanındaki bir klasöre kopyalaması gerektiğini gösterir
rsync -avzr --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/
İlerleme durumunu ve kopyalama hızını göreceksiniz:
Bir klasörü uzak depolama biriminden yerel sunucu klasörüne kopyalama
Rsync kullanarak, uzaktaki bir depolama alanından bir klasörün kopyasını başlatabilirsiniz. Komut şu şekilde görünür:
rsync -zra --progress boxxxxx@boxxxxx.introserv.cloud:/remote_folder /home/user/Desktop/
Uzaktaki bir klasörü yerel sunucudaki bir klasöre kopyalamanın ilerlemesini ve hızını göreceksiniz:
Bir klasörün içeriğini uzak depolama alanından yerel sunucu klasörüne kopyalama
Burada kaynak klasör yolunun sonundaki eğik çizgiye de dikkat etmek gerekir. Varlığı, yalnızca klasörün içeriğinin kopyalanması gerektiğini gösterir
rsync -zra --progress boxxxxx@boxxxxx.introserv.cloud:/remote_folder/ /home/user/Desktop/
Dosyalar hariç ve/veya dahil olmak üzere 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 belirtmenize olanak tanır. Bunu yapmak için --include ve --exclude seçeneklerini kullanın.
rsync -azr --progress --include 'test.file' --exclude 'test.file2' /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/
Yalnızca --include seçeneği ile belirtilen bir dosyanın aktarıldığını göreceksiniz. Lütfen include ve exclude seçeneklerinin birbirlerinden ayrı olarak kullanılabileceğini unutmayın
Yalnızca hedef klasördeki dosyalardan farklı olan dosyaları kopyalayın
Aynı dosyaların kopyalanmasını iptal etmek için, dosya sağlama toplamlarını kontrol etmek üzere -c seçeneğini kullanmalısınız. Bu, zaten hedef klasörde bulunan dosyaları kopyalama işleminin dışında tutmanıza olanak tanır
rsync -azrс --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/
Uzak depolama alanında zaten bulunan test.odt dosyası haricinde yalnızca 3 dosyanın uzak klasöre kopyalandığını göreceksiniz:
Standart olmayan bir SSH portu ile SSH üzerinden Rsync kullanma
SSH bağlantı noktası değiştirilmiş bir sunucudan/sunucuya dosya aktarmak için -e 'ssh -p port_number' seçeneğini kullanın
SSH portunun 44 olarak değiştirildiği bir sunucuya dosya kopyalama komutu aşağıdaki gibi görünecektir:
rsync -azrс --progress -e 'ssh -p44' /home/user/Desktop/ user@server_ip:/remote_folder/