Есть ли способ синхронизировать только один раздел вместо всех разделов?
Что-то вроде "sync / dev / sdc1".
Есть ли способ синхронизировать только один раздел вместо всех разделов?
Что-то вроде "sync / dev / sdc1".
Ответы:
вы можете перемонтировать с опцией синхронизации и затем перемонтировать ее обратно с помощью async:
mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint
Использование опции remount не будет связываться с процессами, использующими перемонтированную файловую систему.
Существует стандартная функция для данных синхронизируются (и метаданные) одного файла: 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
обычно используется во время процедуры выключения или перезагрузки, когда желательно безопасно записывать данные на диск, а реальной целью операции является память, а не диски, и извлечение этих буферизованных данных из ОЗУ. в безопасное место Диски находятся там, где заканчиваются данные.