Несогласованное поведение файлов, созданных командой archive / ssh / tar

Работая над сценарием развертывания, я столкнулся с проблемами, которые не могу объяснить. У нас есть рабочий сервер (Ubuntu server 10.04), репозиторий (Gitlab) и сервер разработки (Ubuntu 14.04). Я работаю на сервере разработки и оттуда запускаю сценарий развертывания, который после удаления всего остального делает только это:

архив git --format=tgz $MASTER | ssh $HOST "mkdir $NEW && tar xzf - -C $NEW || echo Не удалось создать папку"

Папка создается правильно. Файлы кажутся правильными. Но Apache выдает различные ошибки, обычно относящиеся к необъявленным классам или переменным, но разные при каждой попытке. Удаление новой папки и перемещение старой папки на место работает нормально. Перемещение старой папки в сторону и перемещение новой папки на место разрывается. Нет заметной разницы между двумя папками.

Тогда все становится интересным: - Если я использую новую папку, она ломается. Если я перенесу различные подпапки из старой папки в новую, это в конечном итоге сработает. Но ни одна папка не является достаточной, и какие справки папок не согласованы. Кажется, это своего рода "критическая масса" - когда достаточно старых файлов, это работает. Запуск ls -la показывает те же файлы с теми же размерами / владельцами / разрешениями. Запуск diff -r не показывает разницы между папками / файлами. - Если я использую старую папку, она работает. Если я затем переместу некоторые подпапки / файлы из новой папки в старую, это в конечном итоге сломается. Поведение аналогично предыдущему пункту. - Если я уберу как старое, так и новое, и использую cp -a, чтобы сделать точную копию папки, она будет работать нормально. (РЕДАКТИРОВАТЬ: Не всегда. Я только что сделал тест, если оригинал не удался, копирование не удалось по-другому, копия работала.)

Так что файлы идентичны, но они как-то плохие. Также были случаи, когда использование vi для сохранения файла изменило поведение, то есть, казалось бы, "очистило" файл. Я не понимаю, что может быть не так с файлами, но невидимо для глаз - и прекрасно подходит для всех программ, кроме Apache/PHP.

Что может быть не так с файлами, которые подберет только Apache? Какие команды могут раскрыть это?

0 ответов

Другие вопросы по тегам