Narweb.net Blog

Linux rsync Komutu Kullanımı

rsync
Linux rsync

Rsync, güvenli bir bağlantı ile iki sunucu arasında dosya ve dizinleri senkronize etmek için kullanılan hızlı ve kullanımı kolay bir komuttur. Rsync komutu, hızlı artımlı dosya aktarımı sağlar. Hedef sunucuda aynı dosya veya dizinin mevcut olup olmadığını kontrol eder, ardından yalnızca artımlı verileri veya ek verileri aktarır. Bu çok verimli bir şekilde iki sunucu arasında dosya aktarımı ya da belli bir klasörün senkronize edilmesi için kullanılabilir.

Rsync, dosyaları ve dizinleri sunucular arasında kopyalayarak artımlı yedeklemeler için de kullanılır. Rsync, scp, sftp komutlarına benzer de diyebiliriz. Tabiki sadece sunucudan sunucuya dosya aktarımı için düşünülmemelidir. Sunucu içerisinde iki klasör arasında dosyaları senkronize etmek için de kullanılabilir.

Bu yazımızda rsync komutunun genel olarak nasıl kullanılacağını öğreneceğiz. Eğer Ubuntu sunucu kurduysanız, bu yazımıza göz atmanızı öneririz: Ubuntu sunucu ilk kurulumdan sonra yapılması gerekenler

Rsync Kurulumu

Linux dağıtımlarının çoğunda rsync komut önceden yüklenmiştir. Linux sisteminizde bir rsync komutu yüklü değilse, yüklemek için aşağıdaki komutu kullanabilirsiniz.

Ubuntu ve Debian’a rsync yükleme

sudo apt install rsync

CentOS ve Fedora’ya rsync yükleme

sudo yum install rsync

Rsync Komut Sözdizimi

rsync komutunun söz dizimini inceleyelim:

Local to Local:  rsync [OPTION]... [SRC]... DEST
Local to Remote: rsync [OPTION]... [SRC]... [USER@]HOST:DEST
Remote to Local: rsync [OPTION]... [USER@]HOST:SRC... [DEST]

rsync, bunlar aracılığıyla çeşitli seçenekler sunar, bu şekilde komutun nasıl davranacağını kontrol edebiliriz. En sık kullanılan seçenekler:

Temel rsync Kullanımı

rsync -a /Download/dosyaadı.zip /home/

Bu komutu root olmayan bir kullanıcı çalıştırıyorsa, o kullanıcının kaynak dosya üzerinde okuma iznine ve hedef üzerinde yazma iznine sahip olması gerekir.

rsync -a /Download/dosyaadı.zip /home/yenidosyaadı.zip
rsync -a /var/www/narweb.net/public_html/ /var/www/narweb.net/backup_public_html/

Hedef dizin mevcut değilse, rsync onu oluşturacaktır.

Kaynak dizinin sonunda /  varsa, komut yalnızca dizin içeriğini hedef dizine kopyalar. Kaynak dizinin sonunda / olmazsa komut, kaynak dizini hedef dizinin içine kopyalar.

Uzak bir Makineden Verileri Senkronize Etmek için rsync’i kullanma

Verileri uzaktan aktarmak için rsync komutunu kullanırken, rsync komutunun hem kaynak hem de hedef sunucuya yüklenmesi gerekir. Varsayılan olarak, rsync komutu, uzak kabuk olarak ssh’yi kullanır.

rsync -a /opt/media/ remote_user@remote_host_or_ip_address:/opt/media/

Yukarıdaki komutta -a argümanından hemen sonra kaynaktan bahsettik, Bir dosya aktardığımızı gösterir.

rsync -a remote_user@remote_host_or_ip_address:/home/media/ /home/media/

Yukarıdaki komutta, kaynağından hemen sonra : , bir dosya istediğimizi gösterir.

rsync -a -e "ssh -p 2322" /home/Document/ remote_user@remote_host_or_ip-address:/home/Document/

Not :- Büyük miktarda veri aktarıyorsanız veya -p seçeneğini kullanıyorsanız, her zaman screen içerisinde rsync komutunu çalıştırın:

rsync -a -P remote_user@remote_host_or_ip_address:/home/Document/ /home/Document/

Dosyaları ve Dizinleri Hariç Tutma

Verileri bir sunucudan başka bir sunucuya aktarırken bazen bazı dosya veya dizinleri hariç tutmamız gerekir. Dosyayı veya dizini hariç tutmak için aşağıdaki yöntemimiz var:

Aşağıdaki örnekte, bir dosyaadı.txt dosyasını ve bir test dizinini hariç tutacağız:

rsync -a --exclude=test --exclude=dosyaadı.txt /home/narweb root@192.168.200.11:/home/

Bitirirken

Bu yazımızda, bir sunucudaki dosyaları ve dizinleri başka bir sunucuya kopyalamak ve senkronize etmek için rsync komutunun nasıl kullanılacağını öğrendik. rsync komutuyla ilgili daha ayrıntılı bilgi için terminalde man rsync yazabilirsiniz.

Bu yazımızı beğendiyseniz, bu yazılarımız da ilginizi çekecektir:

Exit mobile version