cómo hacemos las cosas ahoraBuscando una manera segura para desplegar código PHP
Tenemos un servidor de archivos (mediante NFS) que se montan múltiples servidores web y el uso de estos soportes como la raíz Web. Cuando implementamos nuestra base de código, hacemos SCP un archivo (tar.gz) al servidor NFS y desarchivamos los datos directamente en el "directorio web" del servidor de archivos.
La cuestión
Durante el proceso de despliegue que estamos viendo algunos errores de E/S, sobre todo cuando un archivo solicitado no se puede leer: Smarty error: unable to read resource: "header.tpl"
Estos errores parecen desaparecer después de finalizada la implementación, por lo que suponemos que es porque desarchivar los datos directamente en el directorio web no es lo más seguro. Supongo que necesitamos algo atómico.
Mi pregunta
¿Cómo podemos atómicamente copiar nuevos archivos en un directorio existente (el directorio raíz del servidor web)?
EDITAR
Los archivos que son inflexibles en el directorio web no son los únicos archivos que se encuentran en el directorio. Estamos agregando archivos al directorio, que ya tiene archivos. Así que copiar el directorio o usar un enlace simbólico no es una opción (que yo sepa).
de cambio de nombre es atómica (mv), también tal vez es mejor utilizar enlaces de software y el directorio web real es solo un enlace a /storage/www.revision.3282378 por ejemplo – jackdoe