¿Hay alguna manera de sincronizar solo una partición?

Respuestas:

10

puede volver a montar con la opción de sincronización y luego volver a montarlo con asíncrono:

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

El uso de la opción de remontaje no alterará los procesos que usan el sistema de archivos remontado.

Michał Šrajer
fuente
2
¿Por qué crees que son necesarios 2 montajes? En al menos 2.6.32 kernel do_remount_sb realiza sync_filesystem, que es la misma función que se llama en la llamada al sistema syncfs introducida en lwn.net/Articles/433384 .
Yuriy Nazarov
5

Hay una función estándar para sincronizar datos (y los metadatos) de un archivo: fsync. No hay un comando de shell estándar o común para acceder a él, pero puede usar el syncmétodo de perl en IO::Handle:

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

No hay una función estándar o común o comando de shell para sincronizar solo una partición.

En sistemas Linux recientes , existe la syncfsllamada al sistema (introducida en el kernel 2.6.39, y expuesta desde glibc 2.14 ). No creo que esta llamada al sistema esté expuesta en coreutils o util-linux todavía.

Gilles 'SO- deja de ser malvado'
fuente
1
La última oración sobre syncfses la parte más relevante.
Poolie
3

Montar la partición con la syncopción puede ser una solución.

llua
fuente
2

Si te refieres a la syncutilidad que descarga datos en la memoria al disco, entonces la respuesta es no. Esto se debe al hecho de que syncgeneralmente se usa durante un procedimiento de apagado o reinicio, donde es aconsejable que los datos se escriban de forma segura en el disco, y el objetivo real de la operación es la memoria, no los discos, y sacar los datos almacenados en la memoria RAM a un lugar seguro Los discos son justo donde terminan los datos.

Tim Kennedy
fuente
0

Si btrfs:

btrfs filesystem sync /path/under/mountpoint
Tom Hale
fuente