rsync ile kopyalama işlemi

İki sunucu arasında dosya koplama işlemlerinde en sık kullanılan komutlardan olan rsync kullanım yönetimi. Ben sistemin ubuntu olması durumuna göre komutları yazdım. Farklı sistemler kullanıyorsanız örneğin AlmaLinux olması gibi durumlarda dnf yada yum ile kurulum yapabilirsiniz.

Varsayalımki 192.168.1.81 Kaynak sunucunuz olsun. Hedefe sunucunuz ise 192.168.1.54 olsun.

Kaynak sunucu içerisinde iken

sudo apt update
sudo apt install rsync

Hedef sunucuda aynı komutları kullanarak her iki sistemi aynı duruma getirebilirsiniz.

Hedef sunucuda dizin açılmamış ise

sudo mkdir -p /var/www/dizin

Daha sonra kaynak sunucuya dönüş yaparak aşağıdaki komut ile kopyalama işlemini başlatabilirsiniz.

sudo rsync -avzh --info=progress2 --partial /var/www/dizin/ [email protected]:/var/www/dizin/

sudo chown -R www-data:www-data /var/www/dizin

rsync komutu ile beraber kullanılan parametre açıklamaları.

-a (archive): Arşiv modu. En sık kullanılan seçenektir. Şu flag’leri içerir:

  • -r (recursive): Dizinleri ve alt dizinleri kopyalar.
  • -l (links): Sembolik linkleri korur.
  • -p (permissions): Dosya izinlerini korur.
  • -t (times): Dosya zaman damgalarını korur.
  • -g (group): Dosya grup sahipliğini korur.
  • -o (owner): Dosya sahibini korur (bunun için hedefte root olmanız gerekir).

-v (verbose): Hangi dosyaların transfer edildiğini size gösterir. (Daha detaylı ilerleme için --info=progress2 ekledik).

-z (compress): Transfer sırasında veriyi sıkıştırır. Metin tabanlı dosyalarda çok etkilidir, imajlarda daha az etkisi olur ama zararı yoktur.

-h (human-readable): Çıktıdaki boyutları (MB, GB gibi) insanların okuyabileceği formatta göstermesi

--info=progress2: Her dosya için tek tek ilerleme göstermek yerine, toplam transferin ilerlemesini (yüzde, hız, kalan süre) gösterir. Çok büyük GB dosyalar için bu çok daha kullanışlıdır.

--partial: Eğer 50 GB’lık transfer yarıda kesilirse (network sorunu vb.), bu seçenek sayesinde rsync bir sonraki çalışmada yarım kalan dosyayı baştan değil, kaldığı yerden tamamlar. Mutlaka kullanmalısınız.