Yerel ve Uzak Dizinleri Senkronize Etmek İçin Rsync Nasıl Kullanılır
Yerel ve Uzak Dizinleri Senkronize Etmek İçin Rsync Nasıl Kullanılır

Sunucu ile yerel sistem arasında dizinlerin senkronizasyonu rsync

Dosya senkronizasyonu, veri depolama, yedekleme ve sunucu yönetimindeki en önemli işlemlerden biridir. rsync aracı bu görev için güçlü, esnek ve optimize edilmiş bir seçenektir. Bu kılavuz, yerel ve uzak dizinleri (sunucuda) rsync ile nasıl senkronize edeceğinizi, yedeklemeler için nasıl kullanacağınızı ve transferleri nasıl otomatikleştireceğinizi gösterecektir.
0 Hisse senetleri
0
0
0
0

1. Önkoşullar

Yürütmek için rsync Yerel sistem ile uzak sunucu arasında şunlara ihtiyacınız var:

  • İki aygıt: biri yerel (bilgisayarınız) ve diğeri Linux sunucusu (VPS veya özel sunucu)

  • rsync Her iki sisteme de kuruldu

  • İki sistem arasında SSH erişimi (böylece sürekli olarak şifre girmeden iletişim kurabilirsiniz)

  • Dosyadaki hedef sunucudaki SSH genel anahtarı yetkili_anahtarlar yerleştirilmek


2. rsync kavramı ve işlevi (yeni başlayanlar ve profesyoneller için özel ve anlaşılır sürüm)

rsync Linux'ta kullanılan güçlü bir komut satırı aracıdır. Senkronizasyon (Sync) Ve Veri aktarımı Aynı sistem üzerinde veya iki ayrı sunucu üzerinde bulunan iki yol arasında kullanılır.

Peki rsync neden bu kadar popüler?
Bu yüzden Dosyaların tamamını aktarmak yerine, sadece değişen kısımları aktarır.

Rsync tam olarak nasıl çalışır? (Basit ve net bir şekilde anlaşılması)

Rsync'i çalıştırdığınızda araç öncelikle:

  1. İki parçanın yapısı ve içeriği (örneğin hedef klasör ve kaynak klasör) karşılaştırır.

  2. Çekler Hangi dosyalar yeni, hangileri değişti, hangileri silindi veya değiştirilmedi?.

  3. Tüm dosyayı göndermek yerine, sadece Değişen verilerin bir kısmı Transferler.

Bu tekniğin adı:

Delta Transfer Algoritması

Bu rsync algoritması Çok hızlı ve verimli Evet, çünkü:

  • Tüketilen bant genişliği azalır.

  • Transfer süresi çok daha kısadır.

  • Sunucudaki CPU kaynakları daha az kullanılır


Rsync işlevselliğini daha iyi anlamak için basit bir örnek

Diyelim ki 1GB'lık bir dosyanız var ve bunun sadece 5MB'ı değişti.

  • Yaygın araçlar gibi SCP-1811 1GB'ın tamamını tekrar yüklüyorlar.

  • Ancak rsync sadece değişen 5MB'ı gönderiyor..

Bu şu anlama gelir:

  • Daha fazla hız

  • Daha az internet kullanımı

  • Sunucu üzerinde daha az baskı


rsync ve sunucular: Sunucu yönetimi için neden en iyi araçtır?

Bir yolculuktayken Sunucu Veya Sanal Özel Sunucu (VPS) Çalışırken genellikle şunlara ihtiyacınız olur:

  • Yedeklemeleri iki sunucu arasında taşıyın

  • Site dosyalarını mevcut sunucudan yeni sunucuya taşıyın

  • Önemli klasörleri (örneğin /var/www) her zaman senkronize tutun.

  • Bant genişliğini boşa harcamadan büyük dosyaları aktarın

Tüm bu durumlarda rsync en iyi seçimdir çünkü:

SSH ile güvenli aktarım

rsync, transferler için SSH protokolünü kullanır, bu nedenle:

  • Veriler şifrelenmiştir.

  • Ek port açmaya gerek yok

  • İletişim güvenliği garanti altına alınmıştır.

Hedefteki ekstra dosyaları silin

Bayrakla --silmek Hedefi kaynakla birebir aynı tutabilir.

Özgeçmiş özelliği

Eğer aktarım sırasında internet bağlantısı kesilirse rsync dosyanın geri kalanını sıfırdan değil, doğrudan aktaracaktır.

Otomasyona Uygun

Cronjob'lara kolayca uyum sağlar ve otomatik yedekleme süreçleri oluşturur.


Daha iyi anlaşılması için gerçek bir örnek:

Aşağıdaki yolu sunucu A'dan sunucu B'ye senkronize etmek istiyorsanız:

rsync -avz /var/www/ user@server-ip:/var/www/

Bu komut:

  • Yalnızca klasör değişiklikleri /var/www Transferler

  • Hedefte günceller.

  • SSH üzerinden güvenli iletimi sağlar


Rsync'e yeni başlayanlar için basit bir özet:

ÖzellikAçıklama
Ana uygulamaVeri aktarımı ve klasör senkronizasyonu
Ana avantajSadece değişiklikler aktarılır, dosyanın tamamı aktarılmaz.
GüvenlikGüvenli aktarımlar için SSH kullanımı
Yüksek hızDelta transfer algoritması nedeniyle
Profesyonel ve sunucu dostuVPS'ler arasında yedekleme ve geçiş için en iyi araç

3. Temel rsync sözdizimi

Genel yapı rsync Diğer dosya araçlarına benzer şekilde SCP-1811 şudur:

rsync [OPTIONS] منبع مقصد

Basit yerel örnek:

  • Yerel sistemde iki test klasörü oluşturun

  • Uygulama:

    rsync -a dir1/ dir2

    Bu durumda yalnızca içerik dir1 İle dir2 Taşınan şey klasör değil, kendisidir.

Seçenek -A (arşiv) önerilir çünkü:

  • Dizini yinelemeli olarak senkronize eder

  • Dosya sahipliğini, değişiklik zamanını ve izinleri korur

Önemli: Kaynak yolunun sonuna “/” koyarsanız, yalnızca dizinin içeriği senkronize edilir; koymazsanız, orijinal klasörün kendisi aktarılır.


4. Güvenli bir önizleme çalıştırın --deneme çalışması

Hassas işlemler gerçekleştirmeden önce (özellikle aşağıdaki gibi seçenekleri kullanırken) --silmek (kullandığınız) için önce bir deneme çalışması yapmak en iyisidir:

rsync -anv --delete /مسیر/منبع/ /مسیر/مقصد/
  • Seçenek -N Veya --deneme çalışması Değişiklik yapmadan işlemleri simüle eder

  • -v (ayrıntılı) Senkronize edilen veya silinen dosyaların ayrıntılı çıktısını sağlar.

Bu önizleme, dosyaları silmeden önce tam olarak ne olacağını görmenize ve riskli hatalardan kaçınmanıza yardımcı olur.


Yerel ve uzak dizinleri senkronize etmek için Rsync nasıl kullanılır?
Yerel ve uzak dizinleri senkronize etmek için Rsync nasıl kullanılır?

5. Dosyaları yerel sistem ile sunucu arasında itin ve çekin

Sunucuya gönder (Push)

Yerel bir dizini sunucuyla senkronize etmek için:

rsync -a ~/local-dir/ user@remote-server:/remote/path/
  • -A: Dosya özniteliklerini koru

  • ~/yerel-dizin/: Yerel rota

  • kullanıcı@uzak-sunucu: Kullanıcı ve sunucu adresi

  • :/uzak/yol/: Sunucudaki yol

Eğer kaynak kodunun sonunda "/" varsa sadece klasörün içeriği gönderilir; aksi takdirde klasörün kendisi de aktarılır.

Sunucudan al (Çek)

Ters işlem: Sunucudan yerel sisteme senkronizasyon:

rsync -a user@remote-server:/remote/path/ ~/local-dir/

Tekrar söylüyorum, kaynak yolundaki (burada sunucu yolu) eğik çizgiye dikkat etmek önemlidir çünkü bu, senkronizasyon davranışını belirler.


6. Gelişmiş seçenekler rsync

  • -z: Ağ kullanımını azaltmak için gönderirken verileri sıkıştırın

  • -P: Bir kombinasyonu --ilerlemek Ve --kısmi Transferin ilerleyişinin görüntülenmesini ve tamamlanmamış transferlerin devam ettirilmesini sağlar

Örnek:

rsync -azP ~/local/dir/ user@remote:/remote/dir/
  • --silmek: Hedefte var olan ancak artık kaynakta bulunmayan dosyaları silin (yansıtma için uygundur)

  • --hariç tutmak Ve --katmak: Daha hassas etkileşim için dosyaları/klasörleri filtreleyin

  • --yedekleme Ve --yedekleme-dizini: Silinen dosyaların yedeğini ayrı bir yolda oluşturun


7. Cron ile senkronizasyonu planlayın

Periyodik bir senkronizasyon çalıştırmak için şunları yapabilirsiniz: rsync içinde cron Takvim:

  • Crontab'ı düzenle:

    crontab -e
  • Senkronizasyon için günlük bir cronjob örneği:

    0 3 * * * /usr/bin/rsync -a --delete /var/www/html/ user@remote:/backups/html/

    Bu komut her gün sabah 3'te çalışır ve yerel dizini sunucu sürümüyle senkronize eder.

Cron-job için önemli öneriler:

  • Mutlak yollardan rsync ve dizinleri kullanın

  • Şifresiz SSH anahtar girişinin ayarlanması

  • Cron çıktısını bir günlük dosyasına kaydedin veya hataları işleyin


8. Yaygın sorunların giderilmesi ve en iyi uygulamalar

Kullanırken karşılaşılan bazı yaygın sorunlar rsync Ve çözümleri:

  • Kaynak/hedef yolunda hata: Kullanımı --deneme çalışması Ayrıntılı inceleme için

  • İstenmeyen dosya silinmesi: Yalnızca kesinlikle emin olduğumuzda --silmek Hadi kullanalım

  • İzin hataları: ile -A Sahipliği ve izinleri koruyun.

  • Otomasyon sorunları: Tam yolları ve parolasız SSH kimlik doğrulamasını kullanın


Çözüm

rsync Yerel makine ile sunucu arasında veri senkronizasyonu için oldukça güçlü ve optimize edilmiş bir araçtır. Delta aktarım algoritması sayesinde bu araç, yedekleme, veri aktarımı ve yansıtma ortamları oluşturmak için düşük güç tüketimli, güvenli ve doğru bir seçenektir. Gelişmiş seçenekleri kullanarak, --deneme çalışması ve planlama ile cronSenkronizasyon sürecini optimize edebilir, güvenli hale getirebilir ve otomatikleştirebilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ayrıca Şunları da Beğenebilirsiniz

CentOS 6/7'ye IBSng nasıl kurulur

CentOS 6/7'de IBSng Kurulum Eğitimi Bu makalede, centOS 6/7'de IBSng kurulum eğitimi size yardımcı olmak için sağlanmıştır…