如何实现Zen Cart文件同步、实时备份网站文件?
时间:2010-11-14 08:16来源: 作者: 点击:次
通过实现两台服务器间的Zen Cart网站文件的同步,可以远程即时备份网站的所有文件。这样如果主 机出现故障,或者主机帐号被封,都能迅速切换Zen Cart网店到新的服务器上。(关于数据
通过实现两台服务器间的Zen Cart网站文件的同步,可以远程即时备份网站的所有文件。这样如果主 机出现故障,或者主机帐号被封,都能迅速切换Zen Cart网店到新的服务器上。(关于数据库实时备份,见贴子:如何实现 Zen Cart 数据库镜像 / 实时备份MySQL数据库 )
在Linux上,远程文件同步通过 rsync 实现,目前多数Linux上都已经安装了rsync。由于rsync仅复制修改过的文件,因此能最大限度的减少需要同步的文件。
由于rsync同步时,每次都需要用户输入远程服务器的密码,因此如果希望通过脚本定时同步Zen Cart网店文件的话,需要使用证书登录。下面是生成证书的步骤:
首先在需要执行 rsync 命令的A主机上,生成 RSA 密钥:
$ ssh-keygen -t rsa
提示输入 passphrase时,直接按两次回车健使用默认值。生成的两个密钥:公密钥、私密钥都保存在 ~/.ssh/,其中 ~/.ssh/id_rsa.pub 是公密钥。
将公密钥 id_rsa.pub 文件通过FTP或SCP拷贝到远程B主机上。
在远程B主机上,以执行 rsync 时的用户名登录,复制 id_rsa.pub 的内容到 ~/.ssh/authorized_keys:
$ cat id_rsa.pub >>~/.ssh/authorized_keys
$ chmod 700 ~/.ssh/authorized_keys
现在从A主机通过rsync或者SSH到B主机传递文件,就不会再提问密码了。
接着就可以使用 rsync 来同步A主机和B主机的文件夹。在A主机上执行命令:
$ rsync -vaz root@123.123.123.88:/var/www/public_html/ /home/jack/zencart/
就能将远程服务器123.123.123.88上的目录/var/www/public_html/中的Zen Cart网店的所有文件同步到本地目录 /home/jack/zencart/ 中。
将上面的rsync命令放到cron中定时执行,例如每10分钟执行一次。就能实现两台服务器之间的数据同步、备份了。 (责任编辑:最模板) |
------分隔线----------------------------