Definitivamente recomendaría desmontar (expulsar) la unidad antes de desconectarla, pero puedes hacer que las escrituras no se almacenen en el búfer.
Esto se hace cambiando las opciones de montaje al montar el disco externo. Se deben activar las opciones "noasync" y "sync". Esto significa que las operaciones de datos y metadatos se realizan de forma sincrónica, es decir, el sistema operativo espera a que se complete una operación de escritura antes de permitir que la aplicación continúe.
Ten en cuenta que esto tiene sus inconvenientes, y aún no es una garantía contra la pérdida de datos:
La naturaleza sincrónica de las cosas significa que experimentará cierta ralentización en los programas que escriben en la unidad de disco. Para los fines de las copias de seguridad, esto probablemente no sea tan malo. La ralentización es menos grave con los SSD que con los discos duros tradicionales, pero sigue estando ahí.
El hecho de que las escrituras sean sincrónicas también significa que se serializan (es decir, se realizan en orden). Si tienes un programa que está escribiendo a menudo en la misma ubicación con diferentes datos (por ejemplo, un programa que actualiza un contador en el disco) - esto podría conducir a más escrituras en el disco real. Con las escrituras asíncronas, una escritura más reciente podría cancelar una escritura más antigua, aún no realizada, en la misma ubicación. Esto acelera las cosas y reduce el número de escrituras en el disco. En el caso de los SSD, esto equivale a reducir el desgaste de la unidad.
Por último, todavía no está garantizado contra la pérdida de datos, por dos razones principales:
Es posible que se esté produciendo una escritura o que esté a punto de producirse cuando se desconecte la unidad. Si el programa que realiza la escritura no está escrito para ser resistente a las "desconexiones", podrías acabar en una situación en la que la aplicación realizara sólo una parte de un número programado de escrituras - y cuando los datos son leídos de nuevo, esto crea un estado ilegal en el programa. Es decir, las escrituras A y B dependen la una de la otra, y se supone que no puedes tener una situación en la que A se realice sin B o viceversa.
Por lo general, los programas no se ocupan de evitar estas situaciones. Encontrarás ese tipo de soporte en, por ejemplo, muchos sistemas de bases de datos - incluso en sistemas "pequeños" como SQLite, que afortunadamente se está utilizando como almacenamiento de respaldo para muchas aplicaciones hoy en día.
La segunda razón principal es que a menudo las propias unidades contienen un búfer de escritura. Históricamente, las unidades de consumo más baratas solían dejar de funcionar en el momento en que se perdía la energía, y los datos del búfer de escritura se perdían. Esto anularía efectivamente los esfuerzos que se han hecho para asegurar que el sistema operativo no tenga un búfer de datos.
Tradicionalmente, esto se evitaba en los sistemas de servidores teniendo un controlador de disco con una caché de escritura respaldada por batería, lo que aseguraba que, siempre que se restableciera la alimentación en las siguientes 24-48 horas, las escrituras no completadas se realizarían cuando se restableciera la alimentación.
En los discos SSD actuales, muchos vienen con un supercondensador (se puede pensar en él como una especie de batería autocargable) que asegura que el disco siempre tenga energía para completar las escrituras en curso cuando se pierde la energía. Sin embargo, algunos no lo tienen, y las marcas de los consumidores no suelen anunciar si tienen o no esta característica.