sitecopy(http://www.manyfish.co.uk/sitecopy/)是用来维护网站的开源工具,允许你在本地网站做的修改非常轻松的同步到远程网站。
sitecopy is for easily maintaining remote web sites. The program will upload files to the server which have changed locally, and delete files from the server which have been removed locally, to keep the remote site synchronized with the local site with a single command.
sitecopy需要远程网站服务器装有FTP或WebDAV,用来上传下载文件。
配置FTP或WebDAV。
在本地机器安装sitecopy
sudo apt-get install sitecopy
查看帮助:
man sitecopy
配置sitecopy
例如我要把本地网站目录 /home/snail/example.com 和远程网站目录 /var/www/example.com/web 同步。
在home目录创建.sitecopy目录,这个目录用来存储文件版本信息:
cd ~
mkdir -m 700 .sitecopy # -m设置目录的权限
创建sitecopy配置文件:
touch .sitecopyrc
chmod 600 .sitecopyrc
vim .sitecopyrc
如果使用FTP,写入如下内容:
site example.com
server example.com
username <ftp用户>
password <密码>
local /home/snail/example.com
remote ~/web/
exclude *.bak
exclude *~
如果使用WebDAV,写入如下内容:
site example.com
server example.com
protocol webdav
username <webdav用户>
password <密码>
local /home/snail/example.com
remote /var/www/example.com/web/
exclude *.bak
exclude *~
注意:FTP或WebDAV要有读写/var/www/example.com/的权限。
同步网站
如果本地网站和远程网站都存在:
sitecopy --catchup example.com
把远程网站同步到本地(本地网站不存在):
sitecopy --fetch example.com
sitecopy --synch example.com
把本地网站同步到远程主机(远程网站不存在):
sitecopy --init example.com
sitecopy --update example.com
如果你对本地网站文件做了修改、删除、更新等等操作,要同步到远程网站,执行:
sitecopy example.com
sitecopy --update example.com