%50 indirim tüm planlarda, sınırlı süreyle. Başlangıç fiyatı $2.48/mo
10 dk kaldı
Güvenlik ve Ağ

Linux'ta Rsync Nasıl Kullanılır? Remote Server'a Rsync 💻📥

Lily Carnell By Lily Carnell 10 dk okuma 16 Nisan 2023 tarihinde güncellendi
rsync'i uzak sunucuya gönder

İster yönetici ister sıradan bir kullanıcı olun, büyük olasılıkla dosyalarınızı düzenli olarak yedeklemeniz ya da birden fazla sistem arasında senkronize etmeniz gerekiyordur. Bu işlem her seferinde tüm dosyaların üzerine yazmayı gerektiriyorsa hem zaman alıcı hem de yorucu olabilir. İşte tam burada Linux Rsync uzak sunucu aracı devreye giriyor. Bu kılavuz, Rsync'in en kullanışlı komutlarını tanıtarak bu aracın hızlı ve güvenli özelliklerinden yararlanmanızı sağlayacak.

Rsync utility nedir?

Uzak Senkronizasyon (Rsync) iyi bilinen bir Linux/Unix komutudur. Bu komutla uzaktan erişim veya yerel bağlantı üzerinden dosya ve dizinleri kopyalayabilir, senkronize edebilirsiniz. Rsync komutu; senkronizasyon, kopyalama ve yedekleme alma gibi çeşitli veri işlemleri yapmanıza olanak tanır. Bunun yanı sıra Linux sisteminizi başka bir sisteme yansıtabilirsiniz.

Rsync'i uzak sunucuyla kullanmanın temel mantığı, hızlı dosya transferinden yararlanmaktır. İki kaynak arasında veri aktarırken yalnızca aralarındaki farklılıkları dikkate alır. Başka bir deyişle Rsync komutu, iki Linux sistemi arasındaki değişiklikleri baz aldığından gereksiz veri transferine zaman harcamanızı önler.

Neden Rsync Kullanmalısınız?

Bildiğiniz üzere kullanabileceğiniz çeşitli yedekleme araçları mevcuttur. Peki Rsync'i diğer araç ve komutlardan ayıran nedir?

Örneğin, Dosya Aktarım Protokolü (FTP) ile web sitenizin yerel bir kopyasını oluşturabilir ya da bu iş için SCP (Güvenli Kopyalama Protokolü) kullanabilirsiniz. Ancak her ikisinin de dezavantajları vardır. FTP, veri şifrelemesi sunmaz; bu da beklediğimiz bir özellik değildir. SCP ise FTP gibi şifresiz transfer sorunu yaşatmasa da tünel oluşturma yöntemi nedeniyle aktarım süresi daha uzundur.

Bu sorunlara alternatif bir çözüm olarak anahtar tabanlı şifrelemeyle Rsync uzak sunucu kullanımına başvurabilirsiniz (kısaca Rsync SSH veya Rsync over SSH olarak bilinir). Bu yöntem yinelenen veri gönderimini engeller ve bir SSH anahtarı kullanır. Ayrıca Rsync'in veri gönderip alırken sıkıştırma ve açma işlemleri uyguladığını, bu sayede bant genişliği kullanımını azalttığını da belirtmek gerekir.

Rsync nasıl kurulur?

Rsync büyük olasılıkla sisteminizde zaten yüklüdür; yine de ayrıntılara girelim. Başlamadan önce şunu belirtmek gerekir: Rsync over SSH kullanacağımız için SSH'nin hem kaynak hem de hedef sistemde önceden kurulu olması gerekir.

Adım 1: SSH Sürümünü Kontrol Etme

SSH sürümünü şu komutu kullanarak kontrol edebilirsin:

ssh -V

Rsync ile uzak bir sunucuya veri aktarmak için yerel bir sunucuya (kaynak) ve uzak sunucuya ihtiyacınız vardır. Yerel sunucuda yönetici ayrıcalıklarının (sudo) etkin olduğundan da emin olun.

Adım 2: Rsync Kurulumu Linux

Aşağıdaki komut, Ubuntu, Linux Mint ve Debian üzerine Rsync kurmanızı sağlar:

sudo apt install rsync -y

Fedora, CentOS, AlmaLinux ve Red Hat gibi farklı Linux dağıtımları kullanıyorsanız, sisteminize Rsync kurmak için şu komutu girin:

sudo dnf install rsync

Not: apt, Debian tabanlı dağıtımlarda kullanılan pratik bir paket yönetim aracıdır.

Adım 3: Rsync'i Başlatma

Rsync'i kullanmaya başlamak için önce başlatmanız, ardından etkinleştirmeniz gerekir. Bunun için aşağıdaki komutları kullanın:

sudo systemctl start rsync 
sudo systemctl enable rsync

Adım 4: Rsync Kurulumunu Doğrulama

Linux sisteminizde Rsync'in doğru kurulup kurulmadığını kontrol etmek ve hangi sürümü kullandığınızı görmek için şu komutu girin:

rsync --version

Aşağıdaki bölümde, anahtar tabanlı kimlik doğrulama yöntemiyle yedekleme almak için bu aracın nasıl kullanılacağını ele alacağız.

SSH Üzerinden Rsync ile Yedek Nasıl Alınır?

Artımlı yedek almak, Rsync'in SSH üzerindeki kullanım alanlarından biridir. Nasıl çalıştığını anlamak için aşağıdaki komutu inceleyin:

rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir

Yukarıdaki komutu çalıştırmak, şunu senkronize etmenizi sağlar: sourceDir ve destinationDir. Bu komut, bilmeniz gereken başka seçenekler de içerir; örneğin -a (archive) ve -v (verbose)Not ("Note that" is incomplete — it needs context to translate properly) Could you provide the complete phrase or sentence you'd like translated to Turkish? -e ssh seçeneği, Rsync bağlantısının SSH protokolü üzerinden kurulmasını zorunlu kılar.

Eğer SSH bağlantısı varsayılan port yerine (port 22) farklı bir port üzerinden kabul edilmesini istiyorsanız, port numarasını şunun ardından belirtmeniz gerekir: -e ssh. Nasıl çalıştığını anlamak için aşağıdaki komuta bakın.

rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir

Yukarıdaki komutta, 22 yerine 1998'i SSH portu olarak kullandığımızı varsayıyoruz.

SSH üzerinden uzak sunucuya Rsync'in işe yarar başka seçenekleri de vardır. Örneğin, –partial seçeneği, Rsync'in kesintiye uğraması gibi sorunlarda önceki yarım kalan aktarımı kaldığı yerden devam ettirmenizi sağlar. Ayrıca –progress seçeneği ile anlık dosya aktarım ilerlemenizi takip edebilirsiniz. Üstelik Linux Rsync, bu iki özelliği aynı anda kullanmanıza da olanak tanır. Bunun için komut satırında -p bayrağını kullanabilirsiniz.

rsync -avP  -e ssh /sourceDir/ user@remote:/path/to/destinationDir

Uzak sunucuya Rsync aktarımında anahtar komutu, verileri hedefe göndermeden önce sıkıştırmanıza imkan verir. Sıkıştırma işlemi CPU kullanımını artırsa da dosya aktarımını hızlandırdığı ve bant genişliği tüketimini azalttığı için oldukça kullanışlıdır.

Rsync komutunu kullanarak yerel veya uzak dosya ve dizinleri kopyalayabilirsiniz. Rsync'in temel avantajı şu ilkeye dayanmasıdır: delta transfer algoritması, kaynak ile hedef arasında yinelenen verilerin kopyalanmasını engeller. Daha önce de belirtildiği gibi, Rsync'in bu özelliği günlük yedeklemeler ve sistem yansıtma işlemleri için oldukça işe yarar. Şimdi Rsync komutunu yerel kullanım senaryoları için nasıl kullanacağımıza bakalım.

Rsync Yerel Senkronizasyon İçin Nasıl Kullanılır?

Yerel senkronizasyona ve Rsync komutunun bu amaçla nasıl kullanıldığına geçmeden önce, aşağıda gösterilen genel yerel Rsync yapısını tanımanız gerekir:

rsync [options] [Source] [Destination]

Dosyaları Yerel Olarak Kopyalama

Masaüstü dizininden (adı Cloudzy) için /home/Public klasörüne bir dosyayı senkronize etmek ya da kopyalamak istediğimizi varsayalım; girmeniz gereken komut şudur:

rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public

Yukarıdaki Rsync komutu üç seçenek içerir: -zvh; kullanarak -z, aktarım sırasında dosyanızın sıkıştırılmasını sağlar. v seçeneği ayrıntılı çıktı için kullanılır; h seçeneği ise çıktıların insan tarafından okunabilir biçimde, yani anlaşılır bir formatta görüntülenmesini sağlar.

Dizinleri Yerel Olarak Kopyalama

Masaüstü dizinini (adı Cloudzy) için /home/Public klasörüne kopyalamak istiyorsak şu komutu yazmanız gerekir:

rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public

Bu -a Bu komuttaki seçenek, senkronizasyon sırasında dizinleri ve dosyaları arşivler.

Dizinin kopyalanıp kopyalanmadığını doğrulamak için hedef klasördeki dizin listesini hızlıca kontrol edebilirsiniz. Bunun için şu komutu kullanın:

ls -ld /home/Public

Dosya ve Dizinleri Yinelemeli ve Yerel Olarak Senkronize Etme (Recursive Rsync)

Peki ya /desktop/Cloudzyiçinde birden fazla dizin ve dosya olsaydı ve bunları Linux Rsync komutuyla yinelemeli olarak kopyalamak isteseydik?

Bu durumda, -r seçeneği seçeneğini kullanarak yerel dosya ve dizinlerinizi yinelemeli biçimde senkronize edebilirsiniz. Yinelemeli kopyalama gibi farklı kullanım senaryoları için arşiv seçeneği (-a) seçeneğini de kullanabilirsiniz. Rsync yinelemeli komutlarını tanımak için aşağıdaki komuta göz atın.

rsync -zrvh /desktop/Cloudzy /home/Public

Or

rsync -zrvh /desktop/Cloudzy /home/Public

Dizin ve Dosyaları Yerel Sistemden Uzak Sisteme Kopyalama

Daha önceki bölümlerde bahsettiğimiz Linux Rsync uzak sunucu özelliklerinin yanı sıra, bu iyi bilinen komut yerel makineden uzak sisteme dosya ve dizin senkronizasyonuna da olanak tanır.

Bir klasörü kopyalamak istediğimizi varsayalım (/desktop/Cloudzy/yeniklasör) yerel makineden uzak sisteme (192.168.1.79 ile) altında /mycpt; işleyişini gösteren bir örnek:

rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt

Rsync ile Dizinleri Dosyalar Olmadan Nasıl Kopyalanır?

Bazı durumlarda, dosyaları dahil etmeden yalnızca dizinleri kopyalamak için Linux Rsync'in uzak sunucuya aktarım özelliğini kullanmak isteyebiliriz. Bu senkronizasyon uzak makineden yerel sisteme ya da tam tersi yönde olabilir.

Bu makalede uzak sistemi şu adreste kullandık: 192.168.1.79. Bunun şurada bulunduğunu varsayalım: /mycpt klasörünün altında ve /desktop/Cloudzy dizinini dosyaları dahil etmeden yerel sistemden kopyalamak istiyorsunuz. Bunu yapmak için aşağıdaki komutu girin:

rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/

Diğer faydalı Rsync komutları

Bu bölümde, işinize yarayabilecek ek Linux Rsync komutlarını ele alacağız.

Rsync'te Dosya Transferi İçin Maksimum Boyut Belirleme

Rsync komutunu kullanarak dosya transferi için bir boyut sınırı belirleyebilirsiniz. Bu özellik, bant genişliği ve sürenin önemli olduğu ortamlarda Rsync'i düzenli olarak uzak sunucuya ve yerel makineye karşı çalıştırırken oldukça işe yarar. Rsync dosya transferinde boyut sınırı ayarlamayı öğrenmek için aşağıdaki komutu inceleyin:

rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public

Rsync'te Dosya Transferi İçin Minimum Boyut Belirleme

Maksimum boyut belirlemeye benzer şekilde, Rsync ile uzak sunucuya aktarmak istediğiniz dosyanın minimum boyutunu da ayarlayabilirsiniz. Aşağıdaki komutta minimum dosya boyutunu 10k olarak belirleyeceğiz:

rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public

Senkronizasyon Tamamlandıktan Sonra Kaynaktan Dosyaları Kaldır

Rsync komutunu kullandıktan sonra dosyaların kaynak sistemde kalmasına gerek kalmayabilir. Bu durumda, kaynaktaki dosyaları silmek için aşağıdaki gibi Linux Rsync komutunu kullanabilirsiniz:

rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

Kuru Çalıştırma (Dry Run) Senkronizasyonu

Linux Rsync aracına yeni başlıyorsanız ve seçeneklerine henüz aşina değilseniz, pilot çalışma iyi bir başlangıç noktasıdır. Rsync ile dry run kullandığınızda hiçbir dosya değiştirilmez; yalnızca komutun çıktısı görüntülenir. Komutu çalıştırmak istediğinizden emin olduktan sonra –dry-run seçeneğini kaldırıp terminalde çalıştırabilirsiniz. Dry run işlevselliği hakkında daha fazla bilgi için aşağıdaki komutu inceleyin.

rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

Özet: Linux Rsync Komutlarının Kullanımı

Bu makalede, Linux Rsync'in uzak sunucuya (ve yerel sunucuya) aktarım özelliklerini çeşitli kullanım senaryoları için nasıl kullanacağınızı açıkladık: sistem yansıtma, dosya yedekleme ve SSH ile veri sıkıştırmadan yararlanarak dosya ve dizinleri yerel ya da uzaktan verimli bir şekilde kopyalama. Bu yaygın kullanılan Linux komutu, hızlı dosya transferinin yanı sıra SSH ve veri sıkıştırma desteği sunar.

Linux VPS Hosting

Web siteni veya uzak masaüstünü barındırmak için piyasanın en uygun fiyatlı ekonomik veya premium Linux VPS'ini al. Daha yüksek verim için Linux KVM üzerinde çalışan ve daha hızlı çalışmak için NVMe SSD depolamalı güçlü donanımda.

Devamını oku

Bu işletim sisteminden en iyi şekilde yararlanmak için bir Linux VPS Cloudzy tarafından sunulan ve KVM tabanlı hosting planlarından yararlanmanızı sağlayan bir çözüm. %99,95 uptime, kararlı çalışma, düşük gecikme, dünya genelinde 12 konumda veri merkezi, ultra hızlı SSD depolama ve 7/24 teknik destek ile yüksek performanslı VPS hizmetleri sunuyoruz. Linux VPS'nizi $4,95'ten başlayan fiyatlarla kullanmaya başlayabilir, daha gelişmiş bir çözüme ihtiyaç duyduğunuzda ölçeklendirebilirsiniz.

SSS

Rsync hangi TCP portunu kullanır?

SSH varsayılan olarak port 22'yi kullanır. Bu nedenle rsync, SSH üzerinden çalıştırıldığında bu port üzerinden iletişim kurar. Rsync daemon kullanıldığında ise port 873 devreye girer.

Rsync nedir?

Rsync, dosya ve dizinleri hem yerel hem de uzak sistemler arasında senkronize edebilen bir Linux aracıdır. Rsync komutuyla senkronizasyon, kopyalama ve yedekleme alma gibi çeşitli veri işlemlerini gerçekleştirebilirsiniz.

Paylaş

Bloga göz at

Okumaya devam et.

Mavi ve altın renkli parlayan dijital tünel ile sunucu rafına bağlanan dizüstü bilgisayarı ve kalkan ikonlarını gösteren MikroTik L2TP VPN rehberi için Cloudzy başlık görseli.
Güvenlik ve Ağ

MikroTik L2TP VPN Kurulumu (IPsec ile): RouterOS Rehberi (2026)

Bu MikroTik L2TP VPN kurulumunda L2TP tünellemeyi, IPsec ise şifreleme ve bütünlüğü sağlıyor; ikisini birlikte kullanmak üçüncü taraf bir şey gerektirmeden yerel istemci uyumluluğu sunar.

Rexa CyrusRexa Cyrus 9 dk okuma
Koyu turkuaz arka planda Fix Guide başlığı ve Cloudzy logosu ile uzak host kimliği değişimi hakkında SSH uyarı mesajını gösteren terminal penceresi.
Güvenlik ve Ağ

Uyarı: Uzak Host Kimliği Değişti ve Nasıl Düzeltilir

SSH, sistemler arasında şifreli bir tünel oluşturan güvenli bir ağ protokolüdür. Grafik arayüze ihtiyaç duymadan bilgisayarlara uzaktan erişmesi gereken geliştiriciler arasında popülerliğini koruyor.

Rexa CyrusRexa Cyrus 10 dk okuma
Linux ad çözümleme hataları için koyu zeminde uyarı sembolleri ve mavi sunucu içeren DNS sunucu sorun giderme rehberi görseli
Güvenlik ve Ağ

Temporary Failure in Name Resolution: Ne Anlama Gelir ve Nasıl Düzeltilir?

Linux kullanırken web sitelerine erişmeye, paketleri güncellemeye veya internet bağlantısı gerektiren görevleri çalıştırmaya çalışırken temporary failure in name resolution hatasıyla karşılaşabilirsin.

Rexa CyrusRexa Cyrus 12 dk okuma

Dağıtmaya hazır mısın? 2,48 $/ay'dan başlayan fiyatlarla.

2008'den beri bağımsız bulut. AMD EPYC, NVMe, 40 Gbps. 14 gün para iade garantisi.