如何定时备份服务器中的数据,这两天自己摸索了下,简单记录一下过程,以后可能还会用到。
服务器: IP1
客户端:IP2
同步数据使用的是rsync软件,这个软件还是早年前听同事说起过的。服务器和客户端先安装这个软件。安装好后,主要需要对服务器端进行配置。
1、服务器端:
配置文件:/etc/rsyncd.conf ,具体配置大概如下面这样:
[name] //起一个名字,主要用于客户端同步的时候使用
path = /home/wwwroot //同步的数据目录
use chroot = yes
read only = yes
list = yes
uid = root
gid = root
strict modes = yes
hosts allow = IP2 //允许过来同步的服务器IP地址
hosts deny = *
ignore errors = no
ignore nonreadable = yes
transfer logging = no
timeout = 600
refuse options = checksum dry-run
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
这样,服务器端就配置好了。
2、客户端
rsync -vzrtopg root@IP1::name /home/website
直接使用rsync来同步数据就好。root@IP1::name 这里IP1为服务器端的地址,name就是服务器端/etc/rsyncd.conf配置文件里定义的同步数据的名称。/home/website同步到客户端的目录。直接这么运行,会提示需要输入服务器端的root密码,可以把密码写成一个文件存储在客户端中,然后使用–password-file引用一下就好了。如下,/root/abc为密码文件。
rsync -vzrtopg root@IP1::name /home/websites –password-file=/root/abc
如果需要每天或者每周来备份一下数据的话,我们可以来设置一下定时自动备份任务。使用的是cron来设置定时备份。如果没有安装的话,需要先安装一下。安装好后,在/var/spool/目录下,会多出一个cron目录。然后使用crontab -e 命令来编辑定时任务。可以像下面这样:
0 12 * * * rsync -vzrtopg root@IP1::name /home/websites –password-file=/root/abc
每天12点的时候,自动同步服务器端的数据到本机/home/websites目录下。
执行crontab -e后,会在cron/目录下生成一个root文件。后面再需要添加定时任务,直接修改这个文件就行。
这个是之前同事的配置方法:之前配置的服务器同步方法