Чи є спосіб синхронізувати лише один розділ замість усіх розділів?
Щось на зразок "sync / dev / sdc1".
Чи є спосіб синхронізувати лише один розділ замість усіх розділів?
Щось на зразок "sync / dev / sdc1".
Відповіді:
ви можете повторно виконати параметр синхронізації, а потім повернути його знову за допомогою асинхронізації:
mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint
Використання параметра повторного перезапису не пов'язуватиметься з процесами, що використовують ремонтовану файлову систему.
Існує стандартна функція для даних синхронізуються (і метадані) одного файлу: fsync
. Немає стандартної або загальної команди оболонки для доступу до неї, але ви можете використовувати sync
метод perl у IO::Handle
:
perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename
Немає стандартної або загальної функції або команди оболонки для синхронізації лише одного розділу.
В останніх системах Linux існує syncfs
системний виклик (введений в ядро 2.6.39 і відкритий з моменту glibc 2.14 ). Я не думаю, що цей системний виклик ще не піддається впливу в coreutils або util-linux.
syncfs
- найбільш релевантна частина.
Якщо ви маєте на увазі sync
утиліту, яка передає дані в пам'ять на диск, то відповідь - ні. Це пов’язано з тим, що sync
зазвичай використовується під час відключення або перезавантаження, коли бажано безпечно отримувати дані, записані на диск, а справжньою ціллю операції є пам'ять, а не диски та отримання цих забудованих даних з оперативної пам’яті. кудись у безпеці. Диски - саме там, де опиняються дані.