一般我们做站的时候,都要注意备份问题。毕竟数据是一个站长的命根子。当然,如果条件允许,我还是建议使用一台专门的备份服务器来进行异地备份。当然,这种本地备份也是有点需求的,例如在站长缺经费的情况下开不起专门的一台备份服务器,亦或者是经常会对代码进行修改的站长。本地备份自然是有他的需求,虽然我个人认为作用并不是那么的明显。这篇文章主要采用的办法是rsync和crontab进行结合,crontab我在之前的有一篇mysql备份的文章里也同样使用了这东西来进行定时任务设置。这篇文章类型也差不多,不过RSYNC精华是在网络异地同步备份上,但这篇文章我不扯这么多,以后我会专门写一篇文章介绍怎么使用RSYNC。

首先,我们自然要先安装RSYNC了,当然,安装都还算是比较简单的。我们都可以使用系统自带的包管理器进行安装,例如在Debian/ubuntu下我们可以使用以下命令进行安装:

apt-get install rsync -y

当然,在centos下我们可以使用:

yum install rsync


接下来我们先得建立起一个sh脚本,例如我们要在/root目录下建立一个filebackup.sh的脚本:

vim /root/filebackup.sh

然后在脚本文件内贴上以下内容:

rsync -avzP --delete /home/wwwroot/www.vpstry.com/ /home/backup/www.vpstry.com/

这里我解释一下这句代码的参数都有什么效果,在第一次复制的时候会进行全量复制,从/home/wwwroot/www.vpstry.com/复制到/home/backup/www.vpstry.com/文件夹,并同步所有信息。如果/home/wwwroot/www.vpstry.com/下已经删除的文件,那在同步过程中也会一并删除/home/backup/www.vpstry.com/下同样的文件。当然,你可以去掉--delete参数就不会进行删除了。但如果是修改的话,会一并替换,并不会删除。

接下来我们要新建一个备份用的文件夹:

mkdir /home/backup
mkdir /home/backup/www.vpstry.com

接下来我们要修改一下这个脚本的执行权限:

chmod +x /root/filebackup.sh

最后我们打开Crontab添加定时任务。

crontab -e

在最后一行添加上:

5 3 * * * /root/filebackup.sh

这意思就是在每天凌晨的3点05分的时候执行这个脚本。

当然,到这里也就完成了。当然,rsync的作用并不只是这么一点,之后我会写出一篇详细的RSYNC的使用方法。