linux下使用rsync配合cron实现定时自动备份

2019-01-15

如何定时备份服务器中的数据,这两天自己摸索了下,简单记录一下过程,以后可能还会用到。

服务器: 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文件。后面再需要添加定时任务,直接修改这个文件就行。

 

这个是之前同事的配置方法:之前配置的服务器同步方法

 

发表评论

邮箱地址不会被公开。 必填项已用*标注