rsync+crontab实现服务器数据同步备份

rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
废话不多说,直接开始操作,假设我们要把192.168.1.159(客户端)的数据备份到192.168.1.172(服务器端)上面去
1.服务器端和客户端都执行以下命令

yum install -y rsync  #安装rsync
systemctl stop firewalld #关闭防火墙     

2.服务器配置
配置rsync的配置文件 /etc/rsyncd.conf,添加如下信息

[backup]
# 要备份到哪个文件夹
path =/home/backup
# 允许连接的主机
hosts allow = 192.168.1.159
hosts deny = *
list = true
#指定传输文件时以哪个用户/组的身份传输
uid = root
gid = root
read only = false
#指定传输时要使用的用户名
auth users = root
#指定密码文件,用于连接
secrets file = /etc/rsync.password

依次执行以下命令

#创建备份文件
mkdir /backup
#将密码写入文件,方便两台机器连接(这里的密码自定义,不是服务器密码)
echo "root:123456" > /etc/rsync.password
#赋权限。这步必须要
chmod 600 /etc/rsync.password
#重新加载配置
rsync --daemon --config=/etc/rsyncd.conf 
#开机自启动rsync
vim /etc/rc.d/rc.local 
(输入:/usr/bin/rsync --daemon --config=/etc/rsyncd.conf)

3.客户端配置
执行以下命令

echo "123456" > /etc/rsync.password #就是在服务器端配置的root的密码
chmod 600 /etc/rsync.password #同样赋权限

4.备份文件

rsync -avL 要备份的文件 root@192.168.1.172::backup --password-file=/etc/rsync.password

5.使用crontab定时备份
在这里插入图片描述
在以上各个字段中,还可以使用以下特殊字符:
星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如
/10,如果用在minute字段,表示每十分钟执行一次。

编辑crontab脚本信息,下文中定时器表示每分钟执行一次

crontab -e

在这里插入图片描述
crontab其它使用

crontab -l #查看脚本信息
crontab -r #删除文件

当然,也可以写一个shell脚本,将crontab -e中的执行语句换成sh 脚本名同样可以执行

猜你喜欢

转载自blog.csdn.net/weixin_43909848/article/details/108667977