Ciertamente, había sistemas UNIX más antiguos para los que era más seguro sincronizar más de una vez, pero no todos en una línea de comando como "sync; sync; sync". A mediados de los años 80, esto se destiló para:
Cuando cierre el sistema, se sincronizará tres veces. Ni mas ni menos. Tres serán el número de sincronización, y el número de sincronización será tres. Cuatro veces no sincronizarás, ni sincronizarás dos veces, excepto que procedas a sincronizar una tercera vez ...
Realmente no sé de dónde vinieron las tres veces, excepto tal vez que fue divertido. Pero la palabra en la calle para hacerlo dos veces. No como "sincronización; sincronización", sino como dos líneas separadas en el shell.
En los días de, digamos, V7 UNIX, la reparación del sistema de archivos no era muy divertida. Tenías que hacerlo a mano, sabiendo mucho sobre cómo funcionaba el sistema de archivos y las idiosincrasias de programas como dcheck, ncheck e icheck. fsck, si lo tuvieras, no siempre es algo en lo que confiarías.
Esto comienza a sonar como una historia de "caminamos cuesta arriba en ambos sentidos". Bueno, no teníamos comandos sofisticados como reiniciar o apagar. Cuando deseaba reiniciar el sistema, sincronizaba el sistema de archivos con sincronización y luego presiona Ctrl-P en la consola para detenerlo.
Cuando salió el comando de sincronización, el núcleo había programado la sincronización, pero no todos los búferes (incluido el superbloque del sistema de archivos) habían llegado necesariamente al disco. Por lo tanto, fue bastante fácil ejecutar la sincronización y luego detener las cosas antes de que fuera seguro.
Ejecutar la sincronización nuevamente fue algo fácil de hacer, tomó el tiempo y tuvo un cierto atractivo intuitivo sin tener que entenderlo todo, o tratar con instrucciones vagas como "contar hasta 10" o algo así.
Incluso había una sección de ERROR en la página de manual de V7 para update
también decir:
Con la actualización en ejecución, si la CPU se detiene justo cuando se ejecuta la sincronización, un sistema de archivos puede dañarse. Esto se debe en parte al hardware DEC que escribe ceros cuando fallan las solicitudes NPR. Una solución sería hacer que sync (1) incremente temporalmente el tiempo del sistema en al menos 30 segundos para activar la ejecución de la actualización. Esto le daría 30 segundos de gracia para detener la CPU.
(que, por cierto, fue lo último en el Volumen 1 de los manuales de V7)
Con el tiempo, las herramientas del sistema de archivos y los programas para apagar y reiniciar los sistemas mejoraron para evitar lidiar con esto. El folklore, el vudú y la magia del sistema entran en juego cuando el sistema se comporta misteriosamente. La sincronización dos veces hizo que fuera mucho menos probable que tuviera que sacar las pinzas para volver a armar su sistema de archivos, por lo que se convirtió en parte del ritual. Una vez que lo has hecho varias veces, lo haces sin pensar. Entonces alguien se da cuenta y pregunta por qué. Y la respuesta es algo así como: "Siempre lo hice así. Es más seguro".
No afirmaré que esto es autoritario, y podría estar equivocado sobre algunos de los detalles. Pero creo que está bastante cerca del origen.
sync; sync; sync; sync
el título, y a veces lo escribo de esa manera, también escuché que me lo explicaron de la misma manera, es decir, sincronizar, esperar, sincronizar de nuevo, esperar, etc.