OnWorks Linux ve Windows Çevrimiçi İş İstasyonları

Logo

İş İstasyonları için Çevrimiçi Ücretsiz Barındırma

<Önceki | İçerik | Sonraki>

Dosyaları ve Dizinleri Senkronize Etme

Bir sistemin yedek kopyasını korumak için yaygın bir strateji, bir veya daha fazla dizini, yerel sistemde (genellikle bir tür çıkarılabilir depolama aygıtı) veya uzak bir sistemde bulunan başka bir dizin (veya dizinler) ile senkronize halde tutmayı içerir. Örneğin, geliştirilmekte olan bir web sitesinin yerel bir kopyasına sahip olabiliriz ve bunu zaman zaman uzak bir web sunucusundaki "canlı" kopyayla senkronize edebiliriz.

Unix benzeri dünyada bu görev için tercih edilen araç rsync. Bu program, aşağıdakileri kullanarak hem yerel hem de uzak dizinleri senkronize edebilir. rsync uzaktan güncelleme protokolüsağlayan rsync iki dizin arasındaki farkları hızlı bir şekilde tespit etmek ve bunları eşitlemek için gereken minimum kopyalama miktarını gerçekleştirmek için. Bu yapar rsync diğer kopyalama programlarına kıyasla kullanımı çok hızlı ve ekonomiktir.

rsync şu şekilde çağrılır:

rsync seçenekler kaynak hedefi

nerede kaynak ve hedef aşağıdakilerden biridir:


● Yerel bir dosya veya dizin

● şeklinde bir uzak dosya veya dizin [kullanıcı@]ana bilgisayar:yol

● URI'si ile belirtilen bir uzak rsync sunucusu rsync://[kullanıcı@]anasistem[:bağlantı noktası]/yol

Kaynak veya hedefin yerel bir dosya olması gerektiğini unutmayın. Uzaktan-uzak kopyalama desteklenmez.

Hadi deneyelim rsync bazı yerel dosyalarda çıktı. Önce içimizi temizleyelim foo dizin:


[ben@linuxbox ~]$ rm -rf foo/*

[ben@linuxbox ~]$ rm -rf foo/*


Ardından, senkronize edeceğiz oyun alanı karşılık gelen bir kopyası olan dizin foo:


[ben@linuxbox ~]$ rsync -av oyun alanı foo

[ben@linuxbox ~]$ rsync -av oyun alanı foo


Her ikisini de dahil ettik -a seçeneği (arşivleme için-dosya özniteliklerinin yinelenmesine ve korunmasına neden olur) ve -v yapmak için seçenek (ayrıntılı çıktı) ayna arasında oyun alanı içindeki dizin foo. Komut çalışırken, kopyalanan dosya ve dizinlerin bir listesini göreceğiz. Sonunda, şöyle bir özet mesaj göreceğiz:



gönderilen 135759 bayt alınan 57870 bayt 387258.00 bayt/sn toplam boyut 3230 hızlanma 0.02

gönderilen 135759 bayt alınan 57870 bayt 387258.00 bayt/sn toplam boyut 3230 hızlanma 0.02


gerçekleştirilen kopyalama miktarını gösterir. Komutu tekrar çalıştırırsak, farklı bir sonuç göreceğiz:



[ben@linuxbox ~]$ rsync -av oyun alanı foo

dosya listesi oluşturma ... tamamlandı


gönderilen 22635 bayt alınan 20 bayt 45310.00 bayt/sn toplam boyut 3230 hızlanma 0.14

[ben@linuxbox ~]$ rsync -av oyun alanı foo

dosya listesi oluşturma ... tamamlandı


gönderilen 22635 bayt alınan 20 bayt 45310.00 bayt/sn toplam boyut 3230 hızlanma 0.14


Dosyaların listelenmediğine dikkat edin. Bunun nedeni ise rsync arasında fark olmadığı tespit edilmiştir. ~/oyun alanı ve ~/foo/oyun alanıve bu nedenle hiçbir şeyi kopyalamasına gerek yoktu. Bir dosyayı değiştirirsek oyun alanı ve koş rsync Tekrar:


[ben@linuxbox ~]$ oyun alanı/dir-099/file-Z'ye dokunun [ben@linuxbox ~]$ rsync -av oyun alanı foo dosya listesi oluşturma ... tamamlandı

oyun alanı/dir-099/dosya-Z

gönderilen 22685 bayt alınan 42 bayt 45454.00 bayt/sn toplam boyut 3230 hızlanma 0.14

[ben@linuxbox ~]$ oyun alanı/dir-099/file-Z'ye dokunun [ben@linuxbox ~]$ rsync -av oyun alanı foo dosya listesi oluşturma ... tamamlandı

oyun alanı/dir-099/dosya-Z

gönderilen 22685 bayt alınan 42 bayt 45454.00 bayt/sn toplam boyut 3230 hızlanma 0.14


bunu görüyoruz rsync değişikliği algıladı ve yalnızca güncellenen dosyayı kopyaladı.

Pratik bir örnek olarak, daha önce kullandığımız hayali harici sabit diski ele alalım. katran. Sürücüyü sistemimize bağlarsak ve bir kez daha monte edilirse /medya/BigDisk, adında bir dizin oluşturarak faydalı bir sistem yedeklemesi yapabiliriz. /destek olmak harici sürücüde ve ardından rsync en önemli şeyleri sistemimizden harici sürücüye kopyalamak için:



[ben@linuxbox ~]$ mkdir /media/BigDisk/yedekleme

[ben@linuxbox ~]$ sudo rsync -av --delete /etc /home /usr/yerel

/media/BigDisk/yedekleme

[ben@linuxbox ~]$ mkdir /media/BigDisk/yedekleme

[ben@linuxbox ~]$ sudo rsync -av --delete /etc /home /usr/yerel

/media/BigDisk/yedekleme


Bu örnekte, kopyaladığımız / Etc, / Ana Sayfa, ve / Yerel / usr Dizinler sistemimizden hayali depolama cihazımıza. dahil ettik --silmek kaynak cihazda artık mevcut olmayan yedekleme cihazında mevcut olabilecek dosyaları kaldırma seçeneği (bu, ilk yedekleme yaptığımızda önemsizdir, ancak sonraki kopyalarda faydalı olacaktır). Harici sürücüyü takma ve bunu çalıştırma prosedürünü tekrarlama rsync komutu, küçük bir sistemi yedekte tutmanın yararlı (ideal olmasa da) bir yolu olacaktır. Elbette, bir takma ad burada da yardımcı olacaktır. Bir takma ad oluşturabilir ve onu

.bashrc dosyası bu özelliği sağlamak için:


takma ad yedekleme='sudo rsync -av --delete /etc /home /usr/local

/media/BigDisk/yedekleme'

takma ad yedekleme='sudo rsync -av --delete /etc /home /usr/local

/media/BigDisk/yedekleme'


Şimdi tek yapmamız gereken harici sürücümüzü takmak ve yedek işi yapmak için komut.


 

OnWorks'te En İyi OS Bulut Bilişimi: