文章目录
- 准备工作:部署rsync服务
- 全网备份需求:
- 全网备份脚本编写:
- 编写定时任务:
准备工作:部署rsync服务
部署rsync
服务端:
第一个里程:确认软件是否安装
yum install -y rsync
systemctl enable rsyncd开机启动
第二个里程:编写配置文件
编写任何配置文件前先备份!
cp /etc/rsyncd.conf{,.bak}
vi /etc/rsyncd.conf
#rsync_config
#created by HQ at 2017
##rsyncd.conf start##
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backup dir by oldboy"
path = /backup
修改后重启服务:
systemctl restart rsyncd
第三个里程:创建备份目录管理用户
创建一个虚拟用户
useradd rsync -M -s /sbin/nologin (有需要可以指定uid -u xxx)
#id rsync
uid=1042(rsync) gid=1046(rsync) groups=1046(rsync)
第四个里程:创建一个备份数据目录并修改属主属组
[root@backup ~]# mkdir /backup
chown rsync.rsync /backup
第五个里程:创建一个访问认证文件
vim /etc/rsync.password
rsync_backup:oldboy123
改文件权限:
[root@backup ~]# chmod 600 /etc/rsync.password
[root@backup ~]# ll /etc/rsync.password
-rw------- 1 root root 25 1月 8 10:34 /etc/rsync.password
第六个里程:启动备份服务程序
systemctl start rsyncd
systemctl enable rsyncd
客户端:
远程备份数据工作方式(类似于scp命令功能)
拉取数据:客户端将数据进行下载 <-- 备份服务器 (还原)
rsync 参数 远程主机地址或者名称:拉取的数据信息 本地保存数据的目录信息
rsync 172.16.1.41:/oldgirl/oldgirl01.txt /tmp
推送数据:客户端将数据进行上传 --> 备份服务器 (备份)
rsync 参数 本地需要备份推送数据 远程主机地址或者名称:/备份数据路径信息
rsync -avz /oldboy/oldboy.txt backup:/tmp
(在/etc/hosts文件添加域名与IP才能实现本地解析)
PS:rsync在推送目录数据时,目录后面有 / 和没有/斜线有本质区别
有/斜线的时候将目录下面的数据内容进行推送传输
没有/斜线的时候将目录本身以及下面数据内容都进行推送传输
守护进程备份数据方式(服务端/客户端)daemon(实时备份)
拉取数据(下载还原):Pull: rsync [OPTION…] [USER@]HOST::SRC… [DEST]
rsync 参数 远程认证用户信息@服务端主机名称或地址::模块信息 本地保存数据路径
(模块信息是在rsync配置文件/etc/rsyncd.conf里带中括号的信息,可以自行修改)
rsync -avz rsync_backup@172.16.1.41::backup /tmp
(暂未解决未知名原因有的设备会报错,在还原时模块信息后面加指定路径)