Linux / Comando sync: sincronizar escrituras pendientes

sync solicita al núcleo que sincronice con el almacenamiento las escrituras pendientes en memoria. No desmonta el sistema de archivos ni sustituye el procedimiento para retirar un dispositivo: termine las operaciones y desmóntelo correctamente antes de desconectarlo.

Linux puede almacenar las escrituras en un búfer por motivos de rendimiento. sync utiliza una llamada al sistema que sincroniza esto con el almacenamiento permanente. Si se ejecuta sin argumentos, afecta a todas las escrituras pendientes del sistema, y en la implementación de GNU, si se especifica un archivo, puede sincronizar las escrituras de ese archivo.

Sintaxis básica

sync [opciones] [archivo ...]

La implementación instalada y las opciones pueden variar según la distribución. Verifique la descripción de man sync en el sistema actual.

Ejemplos de uso

Sincronización de escrituras pendientes

Solicita que los datos de escritura actuales del sistema se reflejen en el dispositivo de almacenamiento.

sync

Sincronización de un archivo específico

En la implementación de GNU, sincroniza el contenido de un archivo.

sync report.txt

Sincronización del sistema de archivos al que pertenece el archivo

Apunta a las escrituras pendientes del sistema de archivos al que pertenece la ruta del archivo.

sync -f /mnt/data/report.txt

El significado cuando no hay salida

sync solicita al kernel que envíe las escrituras pendientes del sistema de archivos al dispositivo de almacenamiento. Si tiene éxito, generalmente no muestra nada en la pantalla.

sync
echo $?

Ejemplo de salida:

0

0 es el estado de salida del shell de la última orden sync si tuvo éxito. Esto por sí solo no garantiza que toda la memoria caché del hardware del dispositivo esté permanentemente almacenada ni que la copia de seguridad sea completa. Al desconectar un disco externo, espere a que se complete la escritura y luego desmonte de forma segura con umount.

Opciones y formatos principales

Opciones·Formato Descripción
Sin argumentos Sincroniza las escrituras pendientes de todo el sistema.
archivo Sincroniza el archivo especificado en la implementación GNU.
-d Sincroniza los datos del archivo y los metadatos necesarios para la consistencia.
-f Sincroniza el sistema de archivos al que pertenece el archivo especificado.

Precauciones al usar

Incluso si sync tiene éxito, en lugar de retirar inmediatamente un dispositivo de almacenamiento externo, desmonte el sistema de archivos normalmente con umount. No se debe interpretar como una garantía absoluta de datos que incluya la caché del hardware y errores del dispositivo. La intención de sync -f es especificar la ruta del archivo dentro del sistema de archivos en lugar del nodo del dispositivo de bloque.

Preguntas frecuentes

¿Solo basta con hacer sync antes de sacar la unidad USB?

No. sync solicita la sincronización de escritura, pero no desmonta la unidad. Después de terminar su trabajo, desmóntela normalmente con umount.

Documentación oficial

Puede verificar el comportamiento exacto de las opciones y las diferencias según la implementación en la documentación oficial sobre sync.