Tüm bölümler yerine yalnızca bir bölüm senkronize etmenin bir yolu var mı?
"Sync / dev / sdc1" gibi bir şey.
Tüm bölümler yerine yalnızca bir bölüm senkronize etmenin bir yolu var mı?
"Sync / dev / sdc1" gibi bir şey.
Yanıtlar:
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.
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 sync
yö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 syncfs
sistem ç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.
syncfs
en alakalı kısımdır.
sync
Bellekteki 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.