Чи є спосіб синхронізувати лише один розділ?


Відповіді:


10

ви можете повторно виконати параметр синхронізації, а потім повернути його знову за допомогою асинхронізації:

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

Використання параметра повторного перезапису не пов'язуватиметься з процесами, що використовують ремонтовану файлову систему.


2
Чому ви вважаєте, що 2 перерахунки необхідні? Щонайменше 2.6.32 ядро ​​do_remount_sb виконує sync_filesystem, що є тією ж функцією, що викликається в системному виклику syncfs, запровадженому в lwn.net/Articles/433384 .
Юрій Назаров

5

Існує стандартна функція для даних синхронізуються (і метадані) одного файлу: 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.


1
Останнє речення про syncfs- найбільш релевантна частина.
poolie

3

Монтаж перегородки за допомогою syncпараметра може бути рішенням.


2

Якщо ви маєте на увазі syncутиліту, яка передає дані в пам'ять на диск, то відповідь - ні. Це пов’язано з тим, що syncзазвичай використовується під час відключення або перезавантаження, коли бажано безпечно отримувати дані, записані на диск, а справжньою ціллю операції є пам'ять, а не диски та отримання цих забудованих даних з оперативної пам’яті. кудись у безпеці. Диски - саме там, де опиняються дані.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.