Android

Ssh üzerinden rsync ile dosya aktarımı

Linux/Mac Terminal Tutorial: How To Use The rsync Command - Sync Files Locally and Remotely

Linux/Mac Terminal Tutorial: How To Use The rsync Command - Sync Files Locally and Remotely

İçindekiler:

Anonim

Ağdaki sistemler arasında dosya aktarma söz konusu olduğunda, Linux ve Unix kullanıcılarının emrinde birçok araç vardır.

Veri aktarımı için en popüler protokoller SSH ve FTP'dir. FTP çok popüler olsa da, dosyalarınızı aktarmanın en güvenli yolu olduğu için her zaman SSH kullanmayı tercih edin.

SSH üzerinden scp ve sftp gibi dosya aktarımı için özel araçlar vardır, ancak hiçbiri rsync sağladığı tüm özelliklere sahip değildir. rsync , veri yansıtma, artımlı yedeklemeler, sistemler arasında dosya kopyalama vb. için kullanılabilir.

Bu derste SSH üzerinden rsync ile dosyaların nasıl kopyalanacağını açıklayacağız.

Gereksinimler

  • rsync yardımcı programı hem hedef hem de kaynak sistemlere yüklenmelidir. Yüklü değilse, dağıtımınızın paket yöneticisini kullanarak yükleyebilirsiniz:

    Ubuntu ve Debian:

    sudo apt install rsync

    CentOS ve Fedora:

    sudo yum install rsync

    Uzak bilgisayara SSH erişimi.

    rsync komutunu çalıştıran kullanıcının ve uzak SSH kullanıcısının dosyaları okumak ve yazmak için uygun izinleri olması gerekir.

SSH üzerinden Dosya rsync için rsync kullanma

rsync ile uzak sunuculardan SSH üzerinden dosya ve dizin aktarabilirsiniz.

rsync ile dosya aktarımı için genel sözdizimi aşağıdaki gibidir:

Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…

SRC kaynak dizini olduğunda, DEST hedef dizindir USER uzak SSH kullanıcı adı ve HOST uzak SSH ana bilgisayar veya IP Adresi'dir.

Rsync'in daha yeni sürümleri SSH'yi varsayılan uzak kabuk olarak kullanacak şekilde yapılandırılmıştır, böylece -e ssh seçeneğini atlayabilirsiniz.

Örneğin, yerel bir sistemden tek bir /opt/file.zip dosyasını IP 12.12.12.12 ile uzak sistemdeki /var/www/ dizinine 12.12.12.12 şunları çalıştırırsınız:

rsync -a /opt/file.zip [email protected]:/var/www/

-a seçeneği, dizinleri özyinelemeli olarak senkronize edecek, özel ve blok cihazları aktaracak, sembolik bağlantıları, değişiklik sürelerini, grup, sahiplik ve izinleri koruyacak arşiv modu anlamına gelir.

Dosya uzak sunucuda varsa üzerine yazılır. Dosyayı farklı bir adla kaydetmek istiyorsanız, yeni adı belirtin:

rsync -a /opt/file.zip [email protected]:/var/www/file2.zip

Uzaktaki bir makineden yerel bir makineye veri aktarmak için kaynak olarak uzak konumu ve hedef olarak yerel konumu kullanın:

rsync -a [email protected]:/var/www/file.zip /opt/

SSH üzerinden rsync ile dizin aktarma, dosya aktarma ile aynıdır.

rsync , kaynak dizinlere sondaki eğik çizgi ile farklı bir tedavi verdiğini bilmek önemlidir. Kaynak dizinde bir eğik çizgi varsa, rsync yalnızca kaynak dizinin içeriğini hedef dizine kopyalar. Sondaki eğik çizgi atlandığında, kaynak dizin hedef dizinin içine kopyalanır.

Örneğin, yerel /opt/website/images/ dizinini uzak bir makinedeki /var/www/images/ dizinine aktarmak için aşağıdakileri yazabilirsiniz:

rsync -a /home/linuxize/images/ [email protected]:/var/www/images/

Yerel ve uzak dizini senkronize etmek istiyorsanız --delete seçeneğini kullanın. Bu seçeneği kullanırken dikkatli olun, çünkü kaynak dizinde yoksa hedef dizindeki dosyaları siler.

rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/

Uzak ana bilgisayardaki SSH varsayılan 22 dışında bir bağlantı noktasını dinliyorsa, -e seçeneğini kullanarak bağlantı noktasını belirtin. Örneğin, SSH 3322 numaralı bağlantı noktasını dinliyorsa şunları kullanırsınız:

rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/

Büyük miktarda veri aktarırken, rsync komutunun bir ekran oturumu içinde çalıştırılması veya rsync aktarım sırasında bir ilerleme çubuğu göstermesini ve kısmen aktarılan dosyaları saklamasını söyleyen -P seçeneğini kullanmanız önerilir:

rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/

Sonuç

Dosya ve dizinleri kopyalamak ve senkronize etmek için SSH üzerinden rsync nasıl kullanılacağını gösterdik.

Ayrıca rsync ile dosya veya dizinlerin nasıl hariç tutulacağını da okumak isteyebilirsiniz.

Herhangi bir sorunuz varsa yorum bırakmaktan çekinmeyin.

rsync terminali