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. Yardımcı program, verileri hem yerel olarak hem de Introserv'den Cloud Storage dahil olmak üzere diğer ana bilgisayarlara kopyalayabilir. Yardımcı programın seçenekleri, veri kopyalama ve yansıtmanın birçok yönünü kontrol etmenizi sağlar. Ana özelliklerden biri, gönderme sırasında verileri sıkıştırma yeteneğidir, bu da sunucular arasındaki kopyalama işlemini hızlandırır. Bir diğer avantajı ise kopyalama sırasında aynı dosyaların atlanmasıdır. Bu nedenle, yalnızca farklı dosyalar kopyalanacak veya aktarılacaktır, bu da büyük dizinlerin senkronizasyonunda zaman tasarrufu sağlayacaktır.
Yardımcı program seçenekleri
SSH protokolünü kullanarak dosyaları ve dizinleri uzak Introserv Cloud Storage'a kopyalamak için Rsync kullanım örneklerine bakalım. Önemli! Yalnızca hedef sunucuyu belirten benzer komutlar, dizinleri ve dosyaları SSH üzerinden herhangi bir uzak sunucuya kopyalamanıza olanak tanır.
En sık kullanılacak olan yardımcı programın bazı ana seçeneklerine bakalım. Mevcut seçeneklerin daha ayrıntılı listesi man belgelerinde bulunabilir (man rsync komutu):
-v – işlem hakkında ayrıntılı bilgi görüntüle
-c – dosya sağlama toplamlarını kontrol et
-q – minimum bilgi
-a – arşivleme modu
-R – göreli yollar
-y – daha 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 koru
-p – dosya izinlerini koru
-t – değişiklik zamanını koru
-x – yalnızca bu dosya sisteminde çalış
-e – başka bir aktarım protokolü kullan (örneğin, ssh)
-z – aktarımdan önce dosyaları sıkıştır
--delete – kaynakta olmayan dosyaları sil
--exclude – dosyaları hariç tut
--recursive – dizinleri özyinelemeli olarak listele
--no-recursive – özyinelemeyi devre dışı bırak
--progress – dosya aktarım ilerlemesini görüntüle
--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/user/test.file boxxxx@boxxxxx.introserv.cloud:/remote_folder/
-az --progress – aktarılan dosyanın arşivlenmesi, aktarımdan önce sıkıştırılması ve kopyalama ilerlemesinin ekranda görüntülenmesi gerektiğini belirten seçenekler
/home/user/test.file – aktarılması gereken dosyanın yolu ve dosyanın kendisi
boxxxx@boxxxxx.introserv.cloud: – hedef kaynak (örneğimizde bu bulut depolamadı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/ – uzak kaynaktaki bir klasör. Örneğimizde – Introserv Cloud Storage'da.
Uzak depolamadaki bir klasöre tek bir dosya kopyalama
rsync -az --progress /home/user/Desktop/test.file boxxxxx@boxxxxx.introserv.cloud:/remote_folder/
Depolamaya bağlanmak için şifre girmeniz istenecektir. Şifreyi girin ve devam edin – dosya aktarımının ilerlemesini ve hızını göreceksiniz.
Uzak depolamadaki bir klasöre klasör kopyalama
Kaynak klasör ve hedef klasör satırlarındaki eğik çizgilere dikkat edin. Kaynak klasörde eğik çizginin 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/
Aktarım sırasında dizini ve içindeki tüm dosyaları 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. Varlığı, yardımcı programın yerel klasörün içeriğini uzak depolamadaki bir klasöre kopyalaması gerektiğini gösterir.
rsync -avzr --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/
Kopyalama ilerlemesini ve hızını göreceksiniz.
Uzak depolamadan yerel sunucudaki bir klasöre klasör kopyalama
Rsync kullanarak uzak depolamadan bir klasörün kopyalanmasını başlatabilirsiniz. Komut şöyle görünür:
rsync -zra --progress boxxxxx@boxxxxx.introserv.cloud:/remote_folder /home/user/Desktop/
Uzak klasörün yerel sunucudaki bir klasöre kopyalanmasının ilerlemesini ve hızını göreceksiniz.
Uzak depolamadaki bir klasörün içeriğini yerel sunucudaki bir klasöre kopyalama
Burada da kaynak klasör yolunun sonundaki eğik çizgiye 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ç 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 belirlemenize olanak tanır. Bunun için --include ve --exclude seçenekleri kullanılır.
rsync -azr --progress --include 'test.file' --exclude 'test.file2' /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/
--include seçeneğiyle belirtilen yalnızca bir dosyanın aktarıldığını göreceksiniz. include ve exclude seçeneklerinin birbirinden bağımsız olarak kullanılabileceğini unutmayın.
Yalnızca hedef klasördeki dosyalardan farklı olan dosyaları kopyalama
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, hedef klasörde zaten bulunan dosyaları kopyalama işleminden hariç tutmanızı sağlar.
rsync -azrc --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/
Uzak klasöre yalnızca farklı dosyaların kopyalandığını, uzak depolamada zaten bulunan dosyaların hariç tutulduğunu göreceksiniz.
Standart olmayan SSH portu ile SSH üzerinden Rsync kullanma
Değiştirilmiş SSH portuna sahip bir sunucuya/sunucudan dosya aktarmak için -e 'ssh -p port_numarası' seçeneğini kullanın.
SSH portunun 44 olarak değiştirildiği bir sunucuya dosya kopyalama komutu şöyle görünecektir:
rsync -azrc --progress -e 'ssh -p44' /home/user/Desktop/ user@server_ip:/remote_folder/