Yeni Başlayanlar İçin Rsync ile Verileri Senkronize Etme Kılavuzu

Feb 11, 2025
Gizlilik ve güvenlik
BAĞLANMAMIŞ İÇERİK

Rsync protokolünün sıradan yedekleme / senkronizasyon işleri için kullanımı oldukça basit olabilir, ancak daha gelişmiş özelliklerinden bazıları sizi şaşırtabilir. Bu makalede, en büyük veri istifçilerinin ve yedekleme meraklılarının bile tüm veri yedekliliği ihtiyaçları için tek bir çözüm olarak rsync'i nasıl kullanabileceklerini göstereceğiz.

Uyarı: Yalnızca Gelişmiş Meraklılar

Orada oturup "rsync de neyin nesi?" veya "rsync'i yalnızca gerçekten basit görevler için kullanıyorum" ile ilgili önceki makalemize göz atmak isteyebilirsiniz. verilerinizi Linux'ta yedeklemek için rsync nasıl kullanılır rsync'e giriş yapan, kurulum boyunca size rehberlik eden ve daha temel işlevlerini sergileyen. Rsync'i nasıl kullanacağınızı (dürüst olmak gerekirse, o kadar karmaşık değildir) ve bir Linux terminalinde rahat olduğunuzda, bu gelişmiş kılavuza geçmeye hazırsınız.

Windows'ta rsync çalıştırma

Öncelikle, Windows okuyucularımızı Linux uzmanlarımızla aynı sayfaya yerleştirelim. Rsync, Unix benzeri sistemlerde çalışmak üzere oluşturulmuş olsa da, onu Windows'ta bu kadar kolay kullanamamanız için hiçbir neden yoktur. Cygwin rsync'i çalıştırmak için kullanabileceğimiz harika bir Linux API üretir, bu nedenle web sitelerine gidin ve 32 bit veya 64 bit Bilgisayarınıza bağlı olarak sürüm.

Kurulum basittir; “Paketleri Seçin” ekranına gelene kadar tüm seçenekleri varsayılan değerlerinde tutabilirsiniz.

Şimdi Vim ve SSH için aynı adımları uygulamanız gerekiyor, ancak paketler seçmeye gittiğinizde biraz farklı görünecek, işte bazı ekran görüntüleri:

Vim Kurulumu:

SSH'yi yükleme:

Bu üç paketi seçtikten sonra, kurulumu bitirene kadar ileriye tıklamaya devam edin. Ardından, yükleyicinin masaüstünüze yerleştirdiği simgeye tıklayarak Cygwin'i açabilirsiniz.

rsync Komutları: Basitten İleri Düzeye

Artık Windows kullanıcıları aynı sayfada olduğuna göre, basit bir rsync komutuna bir göz atalım ve bazı gelişmiş anahtarların kullanımının bunu nasıl hızlı bir şekilde karmaşık hale getirebileceğini gösterelim.

Diyelim ki yedeklenmesi gereken bir sürü dosyanız var - bugünlerde kim yok? Taşınabilir sabit sürücünüzü takarsınız, böylece bilgisayar dosyalarınızı yedekleyebilir ve aşağıdaki komutu verebilirsiniz:

rsync -a / ev / geek / dosyalar / / mnt / usb / dosyalar /

Veya Cygwin ile bir Windows bilgisayarda görünme şekli:

rsync -a / cygdrive / c / files / / cygdrive / e / files /

Oldukça basit ve bu noktada dosyaları sürükleyip bırakabileceğiniz için rsync kullanmaya gerçekten gerek yok. Bununla birlikte, diğer sabit sürücünüzde zaten bazı dosyalar varsa ve yalnızca güncellenmiş sürümlerin yanı sıra son senkronizasyondan bu yana oluşturulan dosyalara ihtiyaç duyuyorsa, bu komut kullanışlıdır çünkü yalnızca yeni verileri sabit sürücüye gönderir. Büyük dosyalarla ve özellikle internet üzerinden dosya aktarırken, bu çok önemli.

Dosyalarınızı harici bir sabit sürücüye yedeklemek ve ardından sabit sürücüyü bilgisayarınızla aynı konumda tutmak çok kötü bir fikirdir, bu yüzden dosyalarınızı internet üzerinden başka bir bilgisayara göndermeye başlamak için neye ihtiyaç duyduğuna bir göz atalım ( kiraladığınız biri, bir aile üyesi vb.).

rsync -av --delete -e 'ssh -p 12345 ’/ home / geek / files / [email protected]: / home / geek2 / files /

Yukarıdaki komut, dosyalarınızı 10.1.1.1 IP adresine sahip başka bir bilgisayara gönderir. Artık kaynak dizinde bulunmayan hedefteki gereksiz dosyaları siler, aktarılan dosya adlarını verir, böylece neler olup bittiğine dair bir fikriniz olur ve 12345 numaralı bağlantı noktasında SSH aracılığıyla rsync tünelini oluşturur.

-а -в -е --делете anahtarlar en temel ve en yaygın kullanılanlardan bazılarıdır; Bu eğiticiyi okuyorsanız, onlar hakkında zaten çok şey biliyor olmalısınız. Bazen göz ardı edilen ancak inanılmaz derecede faydalı olan diğer bazı anahtarların üzerinden geçelim:

--ilerleme - Bu anahtar, her dosyanın aktarım sürecini görmemizi sağlar. İnternet üzerinden büyük dosyaları aktarırken özellikle kullanışlıdır, ancak yalnızca küçük dosyaları hızlı bir ağ üzerinden aktarırken anlamsız miktarda bilgi verebilir.

İle bir rsync komutu --ilerleme Yedekleme devam ederken geçiş yapın:

--kısmi - Bu, özellikle büyük dosyaları internet üzerinden aktarırken yararlı olan başka bir anahtardır. Eğer rsync bir dosya transferinin ortasında herhangi bir nedenle kesilirse, kısmen aktarılan dosya hedef dizinde tutulur ve rsync komutu tekrar çalıştırıldığında transfer kaldığı yerden devam eder. Büyük dosyaları internet üzerinden aktarırken (örneğin, birkaç gigabayt), dosya aktarımınızda birkaç saniyelik internet kesintisi, mavi ekran veya insan hatası nedeniyle baştan başlamak zorunda kalmaktan daha kötü bir şey yoktur.

-P - bu anahtar --ilerleme ve --kısmi , onun yerine onu kullanın ve rsync komutunuzu biraz daha düzgün hale getirecektir.

-ile veya --kompres - Bu anahtar, rsync'in dosya verilerini aktarılırken sıkıştırmasını sağlayarak hedefe gönderilmesi gereken veri miktarını azaltır. Aslında oldukça yaygın bir anahtardır, ancak gerekli olmaktan çok uzaktır, yalnızca yavaş bağlantılar arasındaki aktarımlarda size gerçekten fayda sağlar ve aşağıdaki dosya türleri için hiçbir şey yapmaz: 7z, avi, bz2, deb, g, z iso, jpeg, jpg, mov, mp3, mp4, ogg, rpm, tbz, tgz, z, zip.

-h veya --insanca okunabilir - Eğer kullanıyorsanız --ilerleme geçiş, kesinlikle bunu da kullanmak isteyeceksiniz. Yani, baytları anında megabayta dönüştürmeyi sevmediğiniz sürece. -h switch, çıktısı alınan tüm sayıları insan tarafından okunabilir biçime dönüştürür, böylece aktarılan veri miktarını gerçekten anlamlandırabilirsiniz.

-n veya --dry-run - Bu anahtar, rsync komut dosyanızı ilk ne zaman yazıp test edeceğinizi bilmek için önemlidir. Bir deneme çalıştırması gerçekleştirir, ancak aslında herhangi bir değişiklik yapmaz - olası değişiklikler yine de normal olarak çıkarılır, böylece komut dosyanızı üretime taşımadan önce her şeyi okuyabilir ve düzgün göründüğünden emin olabilirsiniz.

-R veya - akraba - Hedef dizin halihazırda mevcut değilse bu anahtar kullanılmalıdır. Bu seçeneği bu kılavuzun ilerleyen bölümlerinde kullanacağız, böylece hedef makinede klasör adlarında zaman damgaları olan dizinler oluşturabiliriz.

--Hariç tutmak - Bu anahtar, yedeklenmesini istemediğiniz dizin yollarını içeren bir dışlama listesine bağlanmak için kullanılır. Sadece her satırda bir dizin veya dosya yolu bulunan düz bir metin dosyasına ihtiyaç duyar.

--include-from - Benzer --Hariç tutmak , ancak yedeklenmesini istediğiniz verilerin dizinlerini ve dosya yollarını içeren bir dosyaya bağlanır.

--stats - Hiçbir şekilde gerçekten önemli bir anahtar değil, ancak bir sistem yöneticisi iseniz, ağınız üzerinden gönderilen trafik miktarını vb. İzlemek için her yedeklemenin ayrıntılı istatistiklerini bilmek kullanışlı olabilir.

--log dosyası - Bu, rsync çıktısını bir günlük dosyasına göndermenizi sağlar. Çıktıyı kendiniz okumak için orada olmadığınız otomatik yedeklemeler için bunu kesinlikle öneririz. Her şeyin düzgün çalıştığından emin olmak için boş zamanlarınızda günlük dosyalarını her zaman bir kez verin. Ayrıca, bir sistem yöneticisinin kullanması için çok önemli bir anahtardır, bu nedenle siz stajyerin sorumluluğunda kalırken yedeklemelerinizin nasıl başarısız olduğunu merak etmeyin.

Şimdi eklenmiş birkaç anahtarımız olduğuna göre rsync komutumuza bir göz atalım:

rsync -avzhP --delete --stats --log-file = / home / geek / rsynclogs / backup.log - '/home/geek/exclude.txt' -e 'ssh -p 12345' / home / geek / files / [email protected]: / home / geek2 / files /

Komut hala oldukça basit, ancak hala düzgün bir yedekleme çözümü oluşturmadık. Dosyalarımız artık iki farklı fiziksel konumda olsa da, bu yedekleme bizi veri kaybının ana nedenlerinden biri olan insan hatasından korumak için hiçbir şey yapmaz.

Anlık Görüntü Yedeklemeleri

Bir dosyayı yanlışlıkla silerseniz, bir virüs dosyalarınızdan herhangi birini bozarsa veya dosyalarınızın istenmeyen şekilde değiştirilmesine neden olan başka bir şey olursa ve ardından rsync yedekleme komut dosyanızı çalıştırırsanız, yedeklenen verilerinizin üzerine istenmeyen değişiklikler yazılır. Böyle bir şey olduğunda (eğer değil, ne zaman), yedekleme çözümünüz sizi veri kaybınızdan korumak için hiçbir şey yapmadı.

Rsync'in yaratıcısı bunu fark etti ve --destek olmak ve --backup-dir argümanlar, böylece kullanıcılar farklı yedeklemeleri çalıştırabilir. Çok rsync web sitesindeki ilk örnek her yedi günde bir tam yedeklemenin çalıştırıldığı ve ardından bu dosyalarda yapılan değişikliklerin günlük olarak ayrı dizinlerde yedeklendiği bir komut dosyası gösterir. Bu yöntemle ilgili sorun, dosyalarınızı kurtarmak için yedi farklı kez etkili bir şekilde kurtarmanız gerektiğidir. Dahası, çoğu meraklı, yedeklerini günde birkaç kez çalıştırır, böylece herhangi bir zamanda kolayca 20'den fazla farklı yedekleme dizinine sahip olabilirsiniz. Dosyalarınızı kurtarmak artık bir sıkıntı değil, aynı zamanda yedeklenmiş verilerinize bakmak bile son derece zaman alıcı olabilir - en son yedeklenmiş kopyasını bulmak için bir dosyanın en son ne zaman değiştirildiğini bilmeniz gerekir. Hepsinden önemlisi, artımlı yedeklemeleri yalnızca haftalık (veya hatta bazı durumlarda daha seyrek) çalıştırmak verimsizdir.

Anlık görüntü yedeklemeleri kurtarmaya! Anlık görüntü yedeklemeleri, artımlı yedeklemelerden başka bir şey değildir, ancak orijinal kaynağın dosya yapısını korumak için sabit bağlantı kullanırlar. İlk başta başınızı sarmak zor olabilir, o yüzden bir örneğe göz atalım.

Her iki saatte bir verilerimizi otomatik olarak yedekleyen bir yedekleme komut dosyamız olduğunu varsayalım. Rsync bunu her yaptığında, her yedeklemeyi şu biçimde adlandırır: Yedekleme-ay-gün-yıl-saat.

Dolayısıyla, tipik bir günün sonunda, hedef dizinimizde aşağıdaki gibi bir klasör listemiz olur:

Bu dizinlerden herhangi birinde gezinirken, kaynak dizindeki her dosyayı tam olarak o sırada olduğu gibi görürsünüz. Yine de, herhangi iki dizinde kopya olmaz. rsync bunu, sabit bağlantı kullanarak gerçekleştirir. --link-dest = DIR argüman.

Elbette, bu güzel ve düzgün bir şekilde tarihli dizin adlarına sahip olmak için, rsync komut dosyamızı biraz güçlendirmemiz gerekecek. Bunun gibi bir yedekleme çözümünü gerçekleştirmek için nelere ihtiyaç olduğuna bir göz atalım ve ardından komut dosyasını daha ayrıntılı olarak açıklayalım:

#!/bin/bash

# eski zaman.txt dosyasını time2.txt olarak kopyalayın

evet | cp ~ / backup / time.txt ~ / backup / time2.txt

# eski time.txt dosyasını yeni zamanla yaz

echo "tarih +"% F-% I% p "> ~ / yedekleme / zaman.txt

# günlük dosyasını oluşturun

echo ""> ~ / backup / rsync-"date + "% F-% I% p” ".log

#rsync komutu

rsync -avzhPR --chmod = Du = rwx, Dgo = rx, Fu = rw, Fgo = r --delete --stats --log-file = ~ / backup / rsync-`date + ”% F-% I% p ”" .log - '~ / exclude.txt' --link-dest = / home / geek2 / files / `cat ~ / backup / time2.txt` -e 'ssh -p 12345' / home / geek / files / [email protected]: / home / geek2 / files / "tarih +"% F-% I% p "/

# Günlük dosyasını scp etmeyi ve yedeğe eklemeyi unutmayın

scp -P 12345 ~ / backup / rsync-`cat ~ / backup / time.txt`.log [email protected]: / home / geek2 / files / `cat ~ / backup / time.txt` / rsync-`cat ~ / backup / time.txt`.log

Bu tipik bir anlık görüntü rsync betiği olacaktır. Sizi bir yerde kaybetmemiz durumunda, onu parça parça inceleyelim:

Komut dosyamızın ilk satırı time.txt içeriğini time2.txt dosyasına kopyalar. Evet borusu, dosyanın üzerine yazmak istediğimizi onaylamak içindir. Ardından, geçerli saati alıp time.txt dosyasına koyarız. Bu dosyalar daha sonra kullanışlı olacak.

Sonraki satır, rsync günlük dosyasını oluşturur ve buna rsync-date.log adını verir (burada tarih, gerçek tarih ve saattir).

Şimdi, sizi uyardığımız karmaşık rsync komutu:

-avzhPR, -e, --delete, --stats, --log-file, --exclude-from, --link-dest - Daha önce bahsettiğimiz anahtarlar; tazelemeye ihtiyacınız varsa yukarı kaydırın.

--- ch ayrıca d = zu = rwx, D go = rx, fu = rw, F go = r dir - Bunlar, hedef dizinin izinleridir. Bu dizini rsync betiğimizin ortasında yaptığımız için, kullanıcılarımızın dosyaları yazabilmesi için izinleri belirlememiz gerekiyor.

Tarih ve kedi komutlarının kullanımı

Rsync komutunun içindeki tarih ve cat komutlarının her kullanımının, oluştukları sırayla gözden geçireceğiz. Not: Bu işlevselliği, özellikle değişkenleri bildirmenin kullanımıyla gerçekleştirmenin başka yolları da olduğunun farkındayız, ancak bu kılavuzun amacı için bu yöntemi kullanmaya karar verdik.

Günlük dosyası şu şekilde belirtilir:

~ / backup / rsync-`date + ”% F-% I% p” ".log

Alternatif olarak, bunu şu şekilde belirtebilirdik:

~ / backup / rsync-`cat ~ / backup / time.txt`.log

Her iki durumda da --log dosyası komutu önceden oluşturulmuş tarihli günlük dosyasını bulabilmeli ve ona yazabilmelidir.

Bağlantı hedef dosyası şu şekilde belirtilir:

--link-dest = / home / geek2 / files / `cat ~ / backup / time2.txt`

Bu şu demektir --link-dest komutu, önceki yedeklemenin dizini verilir. İki saatte bir yedekleme çalıştırıyorsak ve bu komut dosyasını çalıştırdığımızda saat 16:00 ise, --link-dest komutu saat 14: 00'da oluşturulan dizini arar ve yalnızca o zamandan beri değişen verileri (varsa) aktarır.

Tekrarlamak gerekirse, time.txt komut dosyasının başlangıcındaki time2.txt dosyasına kopyalanır, bu nedenle --link-dest komutu o zamana daha sonra başvurabilir.

Hedef dizin şu şekilde belirtilir:

[email protected]: / home / geek2 / files / "tarih +"% F-% I% p "

Bu komut basitçe kaynak dosyaları geçerli tarih ve saatin başlığına sahip bir dizine yerleştirir.

Son olarak, günlük dosyasının bir kopyasının yedeğin içine yerleştirildiğinden emin oluruz.

scp -P 12345 ~ / backup / rsync-`cat ~ / backup / time.txt`.log [email protected]: / home / geek2 / files / `cat ~ / backup / time.txt` / rsync-`cat ~ / backup / time.txt`.log

12345 portunda rsync günlüğünü alıp uygun dizine yerleştirmek için güvenli kopya kullanıyoruz. Doğru günlük dosyasını seçmek ve doğru noktada sona erdiğinden emin olmak için, time.txt dosyasına cat komutu aracılığıyla başvurulmalıdır. Yalnızca date komutunu kullanmak yerine neden cat time.txt kullanmaya karar verdiğimizi merak ediyorsanız, bunun nedeni rsync komutu çalışırken çok zaman geçmiş olabileceğinden, doğru zamanı bulduğumuzdan emin olmak için sadece cat daha önce oluşturduğumuz metin belgesi.

Otomasyon

Kullanım Linux üzerinde Cron veya Windows'ta Görev Zamanlayıcı rsync komut dosyanızı otomatikleştirmek için. Dikkat etmeniz gereken bir şey, yenisine devam etmeden önce halihazırda çalışan tüm rsync işlemlerini sonlandırdığınızdan emin olmaktır. Görev Zamanlayıcı, halihazırda çalışan tüm örnekleri otomatik olarak kapatıyor gibi görünüyor, ancak Linux için biraz daha yaratıcı olmanız gerekecek.

Çoğu Linux dağıtımı pkill komutunu kullanabilir, bu nedenle aşağıdakileri rsync betiğinizin başına eklediğinizden emin olun:

pkill -9 rsync

Şifreleme

Hayır, henüz bitirmedik. Sonunda harika (ve ücretsiz!) Bir yedekleme çözümümüz var, ancak tüm dosyalarımız hala hırsızlığa karşı savunmasız. Umarım dosyalarınızı yüzlerce mil uzaktaki bir yere yedekliyorsunuzdur. O uzak yer ne kadar güvenli olursa olsun, hırsızlık ve bilgisayar korsanlığı her zaman sorun olabilir.

Örneklerimizde, tüm rsync trafiğimizi SSH üzerinden tünelledik, bu da tüm dosyalarımızın hedeflerine taşınırken şifreleneceği anlamına gelir. Ancak, hedefin de aynı derecede güvenli olduğundan emin olmalıyız. Rsync'in verilerinizi yalnızca aktarılırken şifrelediğini, ancak hedeflerine ulaştıklarında dosyaların tamamen açık olduğunu unutmayın.

Rsync’in en iyi özelliklerinden biri, yalnızca her dosyadaki değişiklikleri aktarmasıdır. Tüm dosyalarınız şifrelenmişse ve küçük bir değişiklik yaparsanız, herhangi bir değişiklikten sonra tüm verileri tamamen rastgele hale getiren şifrelemenin bir sonucu olarak tüm dosyanın yeniden iletilmesi gerekecektir.

Bu nedenle, bir tür disk şifreleme kullanmak en iyisidir / en kolay yoldur, örneğin BitLocker Windows için veya dm-crypt Linux için. Bu şekilde, verileriniz hırsızlık durumunda korunur, ancak dosyalar rsync ile aktarılabilir ve şifrelemeniz, performansını engellemez. Rsync'e benzer şekilde çalışan ve hatta Duplicity gibi bazı biçimlerini uygulayan başka seçenekler de vardır, ancak bunlar rsync'in sunduğu bazı özelliklerden yoksundur.

Anlık görüntü yedeklemelerinizi iş yeri dışında bir yerde kurduktan ve kaynak ve hedef sabit sürücülerinizi şifreledikten sonra, rsync konusunda uzmanlaşmak ve mümkün olan en kusursuz veri yedekleme çözümünü uygulamak için kendinize bir göz atın.

How To Automatically Backup Data On Linux Using "rsync"

Ubuntu Server 18.04 Administration Guide Part 14 - Transferring Files With Rsync

Rsync For Windows 10

How To Backup And Encrypt Data Using Rsync And VeraCrypt On MacOS (see Change Log)

Rsync Backup On Linux

How To Copy & Transfer Data From Netgear ReadyNAS To Another NAS [Backup Using RSync]


Gizlilik ve güvenlik - En Popüler Makaleler

Google, Haritalar Gizli Modunu ve Daha Fazla Gizlilik Kontrolünü Duyurdu

Gizlilik ve güvenlik Oct 2, 2025

Google Bugün Google, çok sayıda yeni gizlilik ve güvenlik özelliğini duyuruyor: Google Haritalar için Gizli Mod, YouTube geçmişinizin otomatik olarak..


Uygulamaların E-postanıza Erişmesine İzin Vermeyin (Paradan Tasarruf Etmek İçin Bile)

Gizlilik ve güvenlik Sep 22, 2025

BAĞLANMAMIŞ İÇERİK Bazı çevrimiçi hizmetler, e-posta hesabınıza tam erişim ister, böylece satın alımlar, seyahat planları veya sinir bozucu haber bültenleri için ..


Akıllı Duman Alarmı Almalısınız?

Gizlilik ve güvenlik Aug 19, 2025

Eviniz zaten bir ton akıllı ev ürünü ile donatılmışsa, bir sonraki eklemeniz bazı akıllı duman alarmları olabilir, ancak ilk etapta satın almaya değer mi? İşte akıl..


Bir Windows Güvenlik Duvarı İstemini Nasıl Yeniden Açarsınız?

Gizlilik ve güvenlik Dec 13, 2024

Ağ erişimine ihtiyaç duyan ancak yeterince dikkat etmeyen yeni bir program kuruyorsanız, yanlışlıkla Windows güvenlik duvarının programı engellemesine neden olabilirsiniz..


Elveda Microsoft Security Essentials: Microsoft Artık Üçüncü Taraf Bir Antivirüs Kullanmanızı Öneriyor

Gizlilik ve güvenlik Jul 21, 2025

Microsoft Security Essentials (Windows 8'de Windows Defender) bir zamanlar zirvedeydi. Yıllar geçtikçe test sonuçlarında kaymaya başladı, ancak Microsoft testlerin anlamlı o..


Antivirüsünüzün Tarayıcı Uzantılarını Kullanmayın: Sizi Aslında Daha Az Güvende Yapabilirler

Gizlilik ve güvenlik Jul 5, 2025

Çoğu antivirüs programı - veya kendilerine "güvenlik paketleri", kendi tarayıcı uzantılarını yüklemenizi ister. Bu araç çubuklarının çevrimiçi ortamda güv..


Windows 8'de Uygulama Geçmişinizi Silme

Gizlilik ve güvenlik Apr 18, 2025

BAĞLANMAMIŞ İÇERİK Windows 8'de bir Metro uygulamasını kapattığınızda, tamamen kapanmak yerine duraklatılmış gibi olur. Bu, uygulamayı sıfırdan başlatmak zorunda..


Aile Dostu Ubuntu Kurulumu Nasıl Oluşturulur

Gizlilik ve güvenlik Sep 7, 2025

BAĞLANMAMIŞ İÇERİK fotoğrafı çeken epsos.de Bilgisayar, çocuklar için güçlü bir eğitim aracıdır. Bilgisayarın çocuklara sunduğu..


Kategoriler