Yalnızca bir bölümü senkronize etmenin bir yolu var mı?


Yanıtlar:


10

senkronizasyon seçeneği ile yeniden bağlayabilir ve daha sonra zaman uyumsuz ile yeniden yeniden bağlayabilirsiniz:

mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint

Remount seçeneğinin kullanılması, yeniden monte edilmiş dosya sistemi kullanan işlemlerle uğraşmaz.


2
Neden 2 maaşın gerekli olduğunu düşünüyorsunuz? İçinde en az 2.6.32 çekirdek do_remount_sb yapar sync_filesystem hangi kişiye Syncfs sistem çağrısı olarak adlandırılan aynı işlevi lwn.net/Articles/433384 .
Yuriy Nazarov

5

Bir dosyanın senkronize veri (ve meta) standart bir işlevi yoktur: fsync. Erişmek için standart veya ortak kabuk komutu yoktur, ancak perl'in syncyöntemini şu şekilde kullanabilirsiniz IO::Handle:

perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename

Yalnızca bir bölümü senkronize etmek için standart veya ortak işlev veya kabuk komutu yoktur.

On son Linux sistemlerinde vardır syncfssistem çağrısı (çekirdek 2.6.39 tanıtıldı ve o zamandan beri maruz glibc 2.14 ). Bu sistem çağrısının henüz coreutils veya util-linux'da olduğunu sanmıyorum.


1
Hakkında son cümle syncfsen alakalı kısımdır.
poolie

3

Bölümü syncseçenekle monte etmek bir çözüm olabilir.


2

syncBellekteki verileri diske temizleyen yardımcı programı kastediyorsanız , yanıt hayırdır. Bunun nedeni sync, genellikle diske güvenli bir şekilde yazılan verilerin alınmasının önerildiği ve işlemin gerçek hedefinin diskler değil bellek olması ve bu arabelleğe alınan verilerin RAM'den çıkarılması olduğu bir kapatma veya yeniden başlatma prosedürü sırasında kullanılan gerçeğidir. güvenli bir yere. Diskler, verilerin bittiği yerdir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.