spot_img
Friday, September 20, 2024
spot_img
HomeTechBilgi TeknolojisiLinux rsync Komutunun 10 Yararlı Örneği

Linux rsync Komutunun 10 Yararlı Örneği

-

fatmawati achmad zaenuri/Shutterstock.com

Linux rsync komut, güçlü bir dosya kopyalama ve klasör eşitleme aracıdır. İşte kendi sistemlerinizde iyi bir şekilde kullanabileceğiniz on yaygın kullanım durumu.

rsync Aracı

bu rsync araç, dosya ve dizinleri iki bilgisayar arasında kopyalar. Hedef bilgisayarda var olmayan dosyaları kaynak bilgisayarda bulmak için dizin ağaçlarını tarayan karmaşık bir algoritma kullanır. Bu dosyalar hedef bilgisayara iletilir. Ne yapar rync o kadar zeki ki hangi parçaların olduğunu anlayabilir var olan dosyalar değiştirildi ve yalnızca değişen kısımlar.

Kullanabilirsiniz rsync dosyaları sabit sürücünüzdeki farklı bir konuma, aynı bilgisayardaki farklı bir sabit sürücüye, harici olarak bağlı bir USB sürücüsüne veya ağdan erişilebilen başka bir konuma kopyalamak için.

Üstüne üstlük, rsync isteğe bağlı olarak sembolik bağlantıları, sabit bağlantıları ve dosya sahipliği, izinler ve erişim süreleri gibi dosya meta verilerini koruyabilir. Tüm bu işlevselliği desteklemek için, rsync birçok seçeneğe sahiptir ve hepsini bulmak zaman alır. Başlamanıza yardımcı olmak için bu 10 örneği topladık. İle yedekleme yapmak hakkında zaten yazdık rsync bu yüzden burada diğer kullanımlara odaklanıyoruz.

Birçok seçeneğin tümü için, bir rsync komut basittir. Kaynağı, hedefi ve kullanmak istediğimiz seçenekleri sağlamamız gerekiyor. muhtemelen bunu bulacaksın rsync Linux bilgisayarınızda zaten yüklü – tüm test makinelerimizde öyleydi – ama değilse, kesinlikle dağıtımınızın depolarında olacaktır.

1. Dosyaları Farklı Bir Dizine Kopyalayın

İşte bizi harekete geçirmek için basit bir örnek. Dosyaları “project-files” dizininden “Documents” dizinine kopyalayacağız. İki seçenek kullanıyoruz, -a (arşiv) seçeneği ve -v (ayrıntılı) seçeneği. Ayrıntılı seçenek söyler rsync yaptığı gibi ne yaptığını açıklamak için. bu archive seçeneği, dosya sahipliğini ve birazdan inceleyeceğimiz diğer bazı öğeleri korur.

Komutun formatı şudur: options source-location destination-location.

rsync -av /home/dave/project-files/ /home/dave/Documents/

Dosyaları rsync ile aynı bilgisayardaki farklı dizine kopyalama

kullanma ls “Belgeler” klasöründe dosyaların kopyalandığını gösterir.

Belgeler dizinindeki dosyaların listelenmesi

Süre rsync çalışıyorsa, dosyalar kopyalandıkça listelenir. Bize söylendi:

  • Gönderilen bayt sayısı.
  • Alınan bayt sayısı. Dosya aktarımı gerçekleşmeden önce, rsync hangi dosyaların aktarılması gerektiğini bulmak zorundadır. Bunu yapmak için, hedefteki dosyalar hakkında bazı bilgiler tarafından alınması gerekir. rsync . Bu bilgi alınan baytlarda bulunur.
  • Aktarımın hızı.
  • Kopyalanan dosyaların toplam boyutu.
  • “Hızlanma”. Bu, toplam boyutun gönderilen ve alınan baytların toplamına oranıdır. Bu sayı ne kadar yüksek olursa, aktarım o kadar verimli olur.

Kaynak dizindeki metin dosyasını değiştirdik ve tekrarladık. rsync emretmek.

rsync -av /home/dave/project-files/ /home/dave/Documents/

Dosyaları rsync ile aynı bilgisayardaki farklı dizine kopyalama

Bu sefer güncellenmesi gereken tek dosya, değiştirdiğimiz metin dosyasıdır. Hızlanma rakamı şimdi 30.850’dir. Bu, tüm dosyaları kopyalamaktansa, o tek dosyanın değiştirilmiş kısmını kopyalamanın ne kadar verimli olduğudur.

bu -a (arşiv) seçeneği aslında diğer seçeneklerin bir koleksiyonunu temsil eder. Bu seçeneklerin tümünü kullanmakla aynıdır:

  • r: Kaynak dizindeki dizin ağaçları üzerinde yinelemeli olarak çalışın ve zaten mevcut değilse onları oluşturarak hedef dizine kopyalayın.
  • ben: Sembolik bağlantıları sembolik bağlantılar olarak kopyalayın.
  • p: Dosya izinlerini koruyun.
  • t: Dosya değiştirme sürelerini koruyun.
  • g: Grup izinlerini koruyun.
  • Ö: Dosya sahipliğini koruyun.
  • D: Özel dosyaları ve cihaz dosyalarını kopyalayın. Özel dosyalar, soketler ve ilk giren ilk çıkar boruları (fifos) gibi dosyalar gibi işlem gören iletişim merkezli öğeler olabilir. Cihaz dosyaları, cihazlara ve sözde cihazlara erişim sağlayan özel dosyalardır.

Bu o kadar sık ​​kullanılan bir kombinasyon ki rsync sağlar -a (arşiv) seçeneği, hepsini çağırmanın kısa bir yolu olarak.

2. Bir Dizini Farklı Bir Dizine Kopyalayın

bir öncekine bakarsanız rsync komutu, kaynak dizinin dosya yolunda sonunda bir eğik çizgi “/” göreceksiniz. Bu önemli. anlatır rsync kopyalamak için içindekiler dizinden. Sondaki eğik çizgiyi sağlamazsanız, rsync dizini kopyalayacak ve onun içerikleri.

rsync -av /home/dave/project-files /home/dave/Documents/

rsync ile dizini ve içeriğini aynı bilgisayardaki farklı dizine kopyalama

Bu sefer dizin adı, listelendiği gibi dosya adına eklenir. Hedef dizinin içine bakarsak, kaynak klasörün içindeki dosyalarla birlikte kopyalandığını görürüz.

ls Documents/
ls Documents/project-files/

Aktarılan dizinde kopyalanan dosyaların listelenmesi

3. Bir Dizini Farklı Bir Sürücüye Kopyalayın

Dosyaları aynı sabit sürücüdeki başka bir konuma kopyalamak, sürücü arızasına karşı size koruma sağlamaz. Bu sürücü hayaletten vazgeçerse, bu dosyaların kaynak ve hedef kopyalarını kaybettiniz. Bunları başka bir sabit sürücüye kopyalamak, verilerinizi korumanın çok daha sağlam bir yoludur. Tek yapmamız gereken, hedef sürücüye doğru yolu sağlamaktır.

rsync -av /home/dave/project-files /run/mount/drive2

Dosyaları aynı bilgisayardaki farklı bir sabit sürücüye kopyalama

Diğer sabit sürücüye baktığımızda bize dizini ve dosyaların üzerine kopyalandığını gösteriyor.

ls run/mount/drive2/project-files/

Aynı bilgisayardaki başka bir sabit sürücüye kopyalanan dosyaları listeleme

İLİŞKİLİ: Sabit Diskiniz Arızalandığında Ne Yapmalısınız?

4. Önce Kuru Çalıştırma Yapmak

Nasıl olduğuna bakmadan önce rsync dosyaları bizim için faydalı bir şekilde silebilir, hadi nasıl yapabileceğimize bakalım rsync kuru çalışma gerçekleştirin.

Kuru bir koşuda, rsync istediğimiz eylemleri gerçekleştirme hareketlerinden geçer, ancak aslında onları yapmaz. Komut yürütülseydi ne olacağını bildirir. Bu şekilde, komutun tam olarak beklediğimiz şeyi yaptığından emin olabiliriz.

Kuru çalışmayı zorlamak için --dry-run seçenek.

rsync -av --dry-run /home/dave/geocoder /run/mount/drive2

Bir rsync komutunun kuru çalıştırmasını gerçekleştirme

Kopyalanacak dosyalar bizim için listelenir ve normal istatistikleri alırız, ardından mesaj gelir. (DRY RUN) böylece aslında hiçbir şey olmadığını biliyoruz.

5. Hedef Dizindeki Dosyaları Silme

bu --delete seçenek söyler rsync içindeki dosya ve dizinleri silmek için hedef kaynak dizinde olmayan dizin. Bu, hedef dizinin kaynak dizinin tam bir kopyası olacağı anlamına gelir. Sağduyulu olacağız ve --dry-run ilk seçenek.

rsync -av --delete --dry-run /home/dave/geocoder /run/mount/drive2

Dosyaları silebilecek bir rsync komutunun kuru çalıştırılması

İki dosyanın silineceği konusunda bilgilendirildik. Silineceklerini umursamadığımızdan eminsek, --dry-run seçeneği ve komutu gerçek olarak yerine getirin.

rsync -av --delete /home/dave/geocoder /run/mount/drive2

Kaynak dizinde olmayan dosyaların kopyalanması ve hedef dizinden kaldırılması

Bu sefer dizinlerin içeriği senkronize edilir ve fazladan iki dosya silinir.

6. Kaynak Dosyaları Silme

Bir süre sonra kaynak dosyaları silmeyi seçebilirsiniz. başarılı transferyapımı rsync bir kopyadan çok bir hareket gibi çalışır. Aktarım başarılı olmazsa, kaynak dosyalar silinmez. Kullanmamız gereken seçenek --remove-source-files .

rsync -av --remove-source-files /home/dave/geocoder /run/mount/drive2

Başarılı bir aktarımdan sonra rsync'i kaynak dosyaları silmeye zorlama

Hiçbir dosya aktarılmasa bile dosyaların silinebileceğini unutmayın. çünkü eğer rsync kontrol eder ve tüm dosyalar zaten hedef dizindedir ve bunun için hiçbir şey yoktur. rsync yapmak, rsync başarılı bir transfer olduğunu düşünüyor.

Ayrıca, rsync sadece siler Dosyalar kaynak dizinden. Kaynak dizini veya herhangi bir alt dizini silmez, sadece içindeki dosyaları silmez. kullanarak bunu görebiliriz. -R (özyinelemeli) seçeneği ile lskaynak dizinde.

ls -R geocoder

rsync kaynak dosyaları sildikten sonra boş bir dizin ağacı

7. Dosyaları Uzak Bir Bilgisayara Kopyalayın

Klasörleri uzak bir bilgisayarla senkronize etmek için, rsync her iki bilgisayarda da yüklü olmalıdır. Kullanmayı denemeden önce iki bilgisayar arasında SSH iletişimini kurun. rsync uzak bilgisayara.

için uzak bilgisayarda normal bir kullanıcı olarak uzaktan oturum açabilmeniz gerekir. rsync çalışmak. Oturum açmak için bir kimlik ve parola kullanmanız veya parolasız güvenli erişim için SSH anahtarları ayarlamanız önemli değildir, ancak kullanıcı olarak oturum açamıyorsanız, o zaman rsync da çalışmayacak.

Bir şifre ile giriş yaparsanız, rsync sizden şifre isteyecektir. Oturum açmak için SSH anahtarlarını kullanırsanız, işlem sorunsuzdur.

Yapmanız gereken ekstra tek şey, kullanıcı hesabı adını ve uzak bilgisayarın IP adresini hedef dosya yolunun başına eklemektir. Bir at işareti kullanın “@” kullanıcı adını bilgisayar adından veya IP adresinden ayırmak için ve iki nokta üst üste “:” bilgisayar adını veya IP adresini dizin yolundan ayırmak için.

Test ağımızda bu iki komut eşdeğerdir.

rsync -av /home/dave/geocoder dave@nostromo.local:/home/dave/Downloads
rsync -av /home/dave/geocoder dave@192.168.86.60:/home/dave/Downloads

Dosyaları rsync ile SSH üzerinden uzak bir bilgisayara kopyalama

Dosyaları yerel olarak kopyalarken bize bildirilen bilgilerin aynısını alırız.

8. Dosyaları veya Dizinleri Dahil Etme veya Hariç Tutma

Kaynak dizinde hedef bilgisayara kopyalamak istemediğiniz dosya ve dizinleriniz olabilir. kullanarak bunları hariç tutabilirsiniz. --exclude seçenek. Benzer şekilde, belirli dosya ve dizinleri de dahil etmeyi seçebilirsiniz. --include seçenek.

Tuhaf olan şu ki, eğer kullanırsanız --include seçeneği kendi başına, tüm dosyalar, özel olarak dahil edilen dosyalarınız da dahil olmak üzere, normal şekilde kopyalanır. Yalnızca dahil ettiğiniz dosyaları kopyalamak için yapmanız gereken --exclude diğer her Şey.

kadar kullanabilirsiniz --include ve --exclude komutlarınızdaki seçenekleri istediğiniz gibi, ancak --include senden önceki seçenekler --exclude seçenekler. Ayrıca, kaynak dosya yolunuzun sonunda bir eğik çizgi olduğundan emin olun.

Bu komut, yalnızca C kaynak kodu dosyalarını ve CSV veri dosyalarını hedef bilgisayara kopyalar.

rsync -av --include="*.c" --include="*.csv" --exclude="*" /home/dave/geocoder/ /run/mount/drive2/geocoder

Seçilen dosyaları aynı bilgisayardaki farklı bir sabit sürücüye kopyalamak için rsync'i kullanma

Kopyalanan dosyalar yalnızca bizim özellikle dahil ettiğimiz dosyalardır.

9. Aktarımdaki Dosyaları Sıkıştırın

bu -z (sıkıştır) seçenek nedenleri rsync Aktarılan dosyaları sıkıştırmak için. Ancak hedef bilgisayarda sıkıştırılmış dosyalar olarak depolanmazlar, yalnızca aktarım sırasında sıkıştırılırlar. Bu, uzun aktarımları hızlandırabilir.

rsync -avz /home/dave/geocoder /run/mount/drive2

Dosyaları -z rsync seçeneğiyle aktarılırken sıkıştırma

10. İlerlemeyi İzleme

Uzun transferlerden bahsetmişken, transferin ilerlemesini görebilmemiz için bazı istatistikler ekleyebiliriz.

bu -P (kısmi, ilerleme) seçeneği aslında iki seçenek ekler, --partial ve --progress . bu --partial seçenek söyler rsync Bir aktarım başarısız olursa kısmen aktarılan dosyaları tutmak için. Bu, aktarım yeniden başlatıldığında zaman kazandırır.

bu --progress seçeneği, her dosya için, aktarılan verileri bayt ve yüzde olarak, aktarım hızı, geçen süre, aktarılan dosya sayısı ve kalan dosyaların sayısını yazdırır.

rsync -aP /home/dave/geocoder /run/mount/drive2

Her dosyanın iletimi için istatistik sağlamak için -P seçeneğini kullanma

Çıktı oldukça hızlı bir şekilde kayar ve okunması zordur. Kaldırarak işleri biraz iyileştirebilirsiniz. -v (ayrıntılı) seçeneği komuttan. O zaman bile, hızla geçerken okumak hala zor.

Aktarılan her dosya için aktarım istatistikleri

Genel transferin ilerlemesini izlemek genellikle daha yararlıdır. Bunu –info seçeneği ile ve parametre olarak “progress2” ileterek yapabilirsiniz.

sync -a --info=progress2 /home/dave/geocoder /run/mount/drive2

Genel rsync aktarımı için istatistikler

Bu, gerçekten yararlı olan bir ilerleme raporu verir.

Steroidlerdeki cp gibi

bu rsync komut hızlı, esnektir ve alışmak için harcadığınız zamana değer. Temel formu bir rsync ile komut -av seçenekleri, kaynak dizini ve hedef dizini hatırlamak hiç de zor değil.

Birçok kullanım durumu için tek ihtiyacınız olan bu. Bununla rahat olun, gerisi kolayca gelecektir.

İLİŞKİLİ: Verileri Rsync ile Senkronize Etmeye Yeni Başlayanlar İçin Kılavuzu

Related articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Stay Connected

0FansLike
0FollowersFollow
0FollowersFollow
0SubscribersSubscribe
Saçınızda Kahve Kullanmanın Faydaları Nelerdir?

Latest posts