Можно ли rsync вашего веб-сайта на другой сервер резервного копирования и использовать те же файлы .htaccess?

641
stephenmm

Я пытаюсь использовать rsync для репликации всех файлов с одного веб-сервера на другой сервер, который может выступать в качестве резервной копии, если первый вышел из строя. Проблема, с которой я сталкиваюсь, заключается в том, что для файла .htaccess требуется, чтобы файл AuthUserFile имел полностью квалифицированный путь к файлу .htpasswd, и я не могу сделать пути одинаковыми на двух компьютерах.

Кто-нибудь знает, как я могу использовать один и тот же файл .htaccess на двух разных серверах?

Спасибо за любую помощь, которая может быть оказана.

1

3 ответа на вопрос

4
Igor Zinov'yev

Еще один способ сделать это - указать шаблон исключения, чтобы rsync не касался файла .htaccess.

rsync --exclude-from=/home/user/.rsync/exclude.pat ... 

И файл exclude.pat должен быть в следующем формате:

- /.htaccess - .htaccess 

Первая запись скажет rsync об исключении только корневого .htaccess, вторая - об исключении всех файлов .htaccess в дереве синхронизации. Вы можете посмотреть это в руководстве по rsync.

3
Ignacio Vazquez-Abrams

Одним из вариантов является использование базы данных для вашего authdb вместо файла через, например, mod_auth_mysql. Это полностью уменьшает необходимость указывать имя файла любого типа.

Это звучит как правильный способ сделать это. Я надеялся на менее сложное решение, но это определенно похоже на правильный ответ. stephenmm 14 лет назад 0
В качестве дополнительного бонуса вы также сможете достаточно легко редактировать authdb через Интернет. Ignacio Vazquez-Abrams 14 лет назад 0
2
bubu

Если у вас есть доступ к оболочке, я думаю, что простая команда sed / awk после операции rsync изменяет путь.

например

sed s / tommy / joe / <.htaccessSiteA> .htaccess

для получения дополнительной информации, man sedили http://www.grymoire.com/Unix/Sed.html