Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen fssync komutudur.
Program:
ADI
fssync - Dosya sistemi senkronizasyon aracı (SSH üzerinden tek yönlü)
SİNOPSİS
fssync -d db -r kök [seçenek...] ev sahibi
TANIM
fssync, inode'ları izleyen ve yerel bir dosyanın bakımını yapan tek yönlü bir dosya senkronizasyon aracıdır.
Uzak taraftaki dosyaların veritabanı, şunları yapabilmenizi sağlar:
· çok sayıda dizini/dosyayı verimli bir şekilde yönetin
· yeniden adlandırmaları/taşımaları ve sabit bağlantıları algılama
Ağ trafiğini en aza indirmeyi ve bir dosya sisteminin her ayrıntısını senkronize etmeyi amaçlar:
· tüm inode türleri: dosya, dizin, blok/karakter/fifo, soket, sembolik bağlantı
· sabit bağlantıları koruyun
· değişiklik zamanı, sahiplik/izin/ACL, genişletilmiş özellikler
· seyrek dosyalar
Diğer özellikler:
· dosyaları senkronizasyonun dışında bırakacak şekilde yapılandırılabilir
· fssync herhangi bir zamanda kesilebilir ve devam ettirilebilir, bu da onu rastgele arızalara karşı dayanıklı hale getirir
(örneğin ağ hatası)
· dosya içeriğini senkronize etmeye yönelik algoritma, VM görüntüleri gibi büyük dosyaları işlemek için tasarlanmıştır
Sabit boyutlu değiştirilmiş blokları yerinde güncelleyerek verimli bir şekilde
Fssync'in ana kullanımı, RAID1'in olduğu donanım arızası durumunda veri kaybını önlemektir.
mümkün değil (örn. dizüstü bilgisayarlarda).
On Btrfs [1] dosya sistemleri, fssync kullanışlı bir alternatiftir btrfs göndermek (Ve teslim almak)
Filtreleme yetenekleri sayesinde komutlar. Bu, Btrfs anlık görüntüsüyle birleştirilebilir
Tam bir yedekleme çözümü için hedef tarafta.
KULLANIM
kullanım fssync --yardım et Seçeneklerin tam listesini almak için
Hatırlanması gereken en önemli şey, yerel veritabanının tam olarak neyle eşleşmesi gerektiğidir.
hedef ana bilgisayarda:
· Hedef ana bilgisayara kopyalanan dosyalar değiştirilmemelidir. Ve hiçbir şey olmamalı
hedef dizinlerin içinde manuel olarak oluşturulabilir. Yine de verilere erişmek istiyorsanız
uzak ana bilgisayar, bunu salt okunur bağlama bağlantıları aracılığıyla yapmalısınız (Linux gerektirir >=
2.6.26).
· Aynı veritabanının birden fazla kopyasına sahip olmayı planlıyorsanız, hedef başına 1 veritabanınız olmalıdır.
kaynak dizini.
Bakmak -c Veritabanınızın hedef dizinle eşleşip eşleşmediğini merak ediyorsanız bu seçeneği kullanın.
Fssync'in ilk çalıştırması:
· En kolay yol fssync'in her şeyi yapmasına izin vermektir. Mevcut olmayan bir dosya yolunu belirtin -d
seçeneği ve boş veya mevcut olmayan bir hedef dizini (bkz. -R seçenek). fssync yapacak
veritabanını otomatik olarak oluşturur ve tüm dizinleri/dosyaları uzak ana bilgisayara kopyalar.
· Daha hızlı bir yol, ilk kopyayı bir belgenin ham kopyası gibi başka yollarla yapmak olabilir.
bölüm. Kaynağın ve hedefin tamamen aynı olduğundan kesinlikle eminseniz,
belirterek veritabanını başlatabilirsiniz. - ev sahibi olarak. Eğer inode numaraları aynıysa
her iki tarafta da (eğer veriler blok düzeyinde kopyalandıysa durum budur)
Hedefteki DB'yi başlatırken kaynak bölümünü seçin ve geri dönün
DB yerel olarak.
Fssync etrafındaki filtreli sarmalayıcının bir örneğini şu adreste bulabilirsiniz: örnekler/fssync_home
fssync hiçbir zaman diğer dosya sistemlerindeki dizinleri indirmez. Bağlama noktaları tarafından maskelenen düğümler
da atlanır, bu nedenle eğer bunların kaldırılmasını istiyorsanız geçici olarak çıkarılmaları gerekir.
senkronize edildi. Aynı sonuç, bir bağlama montajından senkronizasyon yapılarak da elde edilebilir.
Ayrıca bakınız YOK şifre anahtarlama [2] yama, şifrelemeye ihtiyacınız yoksa ve bunu yapmak istiyorsanız
SSH bağlantınızı hızlandırın.
NASIL IT İŞLERİ
fssync, uzak taraftaki tüm dizinlerin/dosyaların tek bir SQLite tablosunu tutar. Her biri
satır, inode'u (yerel tarafta), diğer meta verileri (uzak tarafta) ve bir yol ile eşleşir
kontrol bayrağı.
Çalışırken, fssync tüm yerel dizinler/dosyalar boyunca ve her yol için yinelemeli olarak yinelenir
bu göz ardı edilmez (bkz. -f seçeneği), ne yapılacağına karar vermek için DB'yi sorgular. Zaten varsa
kontrol, yol hemen atlanır. Bir yol senkronize edildiğinde şu şekilde işaretlenir:
kontrol. Sonunda, olmayan tüm satırlar kontrol var olmayan yollara karşılık gelir
artık değil. Uzak tarafta silindiklerinde hepsi kontrol bayraklar sıfırlanır.
Başarısızlık hata payı
Aslında fssync, veritabanının hedefle mükemmel şekilde eşleşmesini gerektirmez. BT
bir nedenden dolayı kesintiye uğrayan senkronizasyonu düzeltmek için bazı farklılıkları tolere eder.
ağ hatası, dosya işlem hatası veya işletim sistemi çökmesi dışında herhangi bir şey
yerel ana bilgisayarın (veya elektrik kesintisi gibi benzer bir şeyin).
Çoğu durumda bu, otomatik olarak oluşturulan (veya üzerine yazılan) uzak ana bilgisayar tarafından yapılır.
gerekirse beklenen türde bir inode. Bunun tek istisnası, uzaktan kumandanın
Boş olmayan bir dizini asla tek başına silmeyin. Çoğu karmaşık durum için fssync günlüğe kaydeder
veritabanındaki işlem: başarısızlık durumunda fssync bir sonraki adımda kurtarabilecektir
senkron.
Yarış koşullar
Yarış durumu, yerel ana bilgisayardaki diğer işlemlerin inode'ları değiştirdiği anlamına gelir.
fssync senkronize ediliyor. fssync her türlü yarış koşulunu yönetir. Aslında fssync'in
çoğu durumda yapacak bir şey yok.
Bir yarış durumu oluştuğunda, fssync uzak verinin bir durumda olduğunu garanti etmez.
tutarlı durum. Her senkronizasyon her zaman mevcut tutarsızlıkları düzeltir ancak
diğerleri, bu nedenle fssync, veritabanlarının çalışırken yedeklenmesi için uygun değildir.
Btrfs ile kaynak tarafında anlık görüntü alarak tutarlılık elde edebilirsiniz.
BENZER PROJELER
Yerel bir veritabanını koruma fikri aslında csync2 [3]. Ben ... yapmak üzereydim
yeniden adlandırmalarını/hareketlerini her zaman algılayan bir araca gerçekten ihtiyacım olduğunu fark ettiğimde bunu benimsedim.
büyük dosyalar. Bu yüzden fssync'i csync2'nin inode izleme ve kısmi yeniden yazılması olarak görüyorum.
çift yönlü senkronizasyon olmadan. Yerel veritabanı gerçekten fssync ve csync2'yi yaratıyor
bilinenlerden daha hızlı rsync [4].
Onworks.net hizmetlerini kullanarak fssync'i çevrimiçi kullanın