我正在尝试使用 rsync 将所有文件从一台 Web 服务器复制到另一台服务器,如果第一台服务器发生故障,该服务器可以充当备份。我遇到的问题是 .htaccess 文件要求 AuthUserFile 具有 .htpasswd 文件的完整路径,而我无法使两台计算机上的路径相同。
有人知道如何在两个不同的服务器上使用相同的 .htaccess 文件吗?
谢谢您提供的任何帮助。
答案1
另一种方法是指定一个排除模式,这样 rsync 就不会触及 .htaccess 文件。
rsync --exclude-from=/home/user/.rsync/exclude.pat ...
exclude.pat 文件应采用以下格式:
- /.htaccess
- .htaccess
第一个条目将告诉 rsync 仅排除根 .htaccess,第二个条目将排除同步树中的所有 .htaccess 文件。您可以在 rsync 手册中查找它。
答案2
一个选项是使用数据库作为 authdb,而不是通过文件(例如,mod_auth_mysql)。这完全消除了指定任何文件名的需要。
答案3
如果您有 shell 访问权限,我认为在 rsync 操作后使用一个简单的 sed/awk 命令就可以改变路径。
例如
sed s/tommy/joe/ < .htaccessSiteA > .htaccess
了解更多信息,man sed
或http://www.grymoire.com/Unix/Sed.html
答案4
是的,有可能
通过 SSH 登录到您的服务器。使用以下命令导航到您要传输文件的目录