В поисках безопасного способа развертывания кода PHP

Как мы это делаем сейчас

У нас есть файловый сервер (с использованием NFS), который монтируется на нескольких веб-серверах и используется монтируется как корневой веб-сайт. Когда мы развертываем нашу кодовую базу, мы SCP архив (tar.gz) на сервер NFS и разархивируем данные прямо в «веб-каталог» файлового сервера.

Проблема

Во время процесса развертывания мы наблюдаем некоторые ошибки ввода-вывода, в основном, когда запрошенный файл не может быть прочитан: Ошибка Smarty: невозможно прочитать ресурс: "header.tpl" Эти кажется, что ошибки исчезают после завершения развертывания, поэтому мы предполагаем, что это связано с тем, что разархивирование данных непосредственно в веб-каталог не является самым безопасным. Полагаю, нам нужно что-то атомарное.

Мой вопрос

Как мы можем атомарно скопировать новые файлы в существующий каталог (корневой каталог веб-сервера)?

ИЗМЕНИТЬ

Файлы, которые мы бескомпромиссно переносим в веб-каталог, - не единственные файлы, которые находятся в каталоге. Мы добавляем файлы в каталог, в котором уже есть файлы. Так что копирование каталога или использование символической ссылки - это не вариант (о котором я знаю).

6
задан mmattax 16 December 2011 в 19:16
поделиться