一般我们做站的时候,都要注意备份问题。毕竟数据是一个站长的命根子。当然,如果条件允许,我还是建议使用一台专门的备份服务器来进行异地备份。当然,这种本地备份也是有点需求的,例如在站长缺经费的情况下开不起专门的一台备份服务器,亦或者是经常会对代码进行修改的站长。本地备份自然是有他的需求,虽然我个人认为作用并不是那么的明显。这篇文章主要采用的办法是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的使用方法。