linux rsync定时备份数据
rsync在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。
rsync的特性
能更新整个目录树和文件系统
有选择性的保持符号链接、硬链接,文件属性、权限、设备以及时间等
对于多个文件来说,内部流水线减少文件等待的延时
一、安装rsync【业务服务器和备份服务器都需要安装】
安装rsync之前要先安装xinetd,因为我们要用xinetd来管理rsync进程
yum -y install xinetd
yum -y install rsync
安装完之后,可以在/etc/xinetd.d/目录下看到rsync进程的管理文件rsync
service rsync
{
disable= yes 【将yes改为no,表示启动xinetd服务时,启动rsync进程】
flags= IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
二、rsync的配置文件,只要有rsyncd.conf(主配置文件)、rsync.secrets(密码文件)、rsyncd.motd(服务器信息)
上述三个文件默认都是不存在的,需要手动创建
1、业务服务器上的配置
touch /etc/rsyncd.conf
touch /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets #将rsyncd.secrets密码文件属性设为root拥有,且权限设为600,否则无法备份成功。
touch /etc/rsyncd.motd
---------------------------------------------------------------------------------------------------------------------------
编辑rsyncd.conf
uid = root #进行备份的用户
gid = root #进行备份的组
use chroot = no #隔离目录,使其只能在指定的目录下活动。
max connections = 200 #最大连接数
timeout = 600 #超时时间
pidfile = /var/run/rsyncd.pid #pid文件的存放位置
lock file = /var/run/rsync.lock #锁文件的存放位置
log file = /var/log/rsyncd.log #log文件的存放位置
######以上是全局配置#####
[backup] #认证模块名,对外公布的名字
path = /backup/ #需要同步的目录的真实路径
comment = backup #描述
ignore errors #可以忽略一些无关的IO错误
read only = no #设置为no,指允许可读可写,没有特殊要求,一定要写成yes
list = no #不允许列出清单
hosts allow = 192.168.15.0/255.255.255.0 或者192.168.10.220 #可以写网段或者单个IP,多个IP以,号隔开
auth users = dong #进行认证的用户名,我测试的是可以随便写的
secrets file = /etc/rsyncd.secrets #密码的存放位置
以上部分配置选项,可以放到全局配置中,也可以放到局部配置中
-------------------------------------------------------------------------------------
编辑/etc/rsyncd.secrets 【这个文件只写用户名和密码,】
dong:123456
将rsyncd.secrets密码文件属性设为root拥有,且权限设为600,否则无法备份成功。
-------------------------------------------------------------------------------------
业务服务器上配置好后,重启一下xinetd服务
-------------------------------------------------------------------------------------
2、配置备份服务器
-------------------------------------------------------------------------------------
编辑/etc/rsyncd.secrets 【备份服务器上的密码文件,只需要写密码就可以了,】
123456
将rsyncd.secrets密码文件属性设为root拥有,且权限设为600,否则无法备份成功。
-------------------------------------------------------------------------------------
编写同步脚本rsyncd.sh
#!/bin/bash
#rsync备份脚本,将业务服务器(192.168.15.250)上的backup模块,备份到本机的/webbak目录下
#同步日志由该选项指定 --log-file=/etc/shell/$ip.log
ip=192.168.15.250
/usr/bin/rsync -avzP --partial --delete --password-file=/etc/rsyncd.secrets --log-file=/etc/shell/$ip.log dong@$ip::backup /webbak
-------------------------------------------------------------------------------------
设定计划任务,定时执行上述脚本【每天的23:30分开始执行该同步脚本】
[root@cunchu shell]# crontab -l
30 23 * * * /etc/shell/rsyncbak.sh
rsync的特性
能更新整个目录树和文件系统
有选择性的保持符号链接、硬链接,文件属性、权限、设备以及时间等
对于多个文件来说,内部流水线减少文件等待的延时
一、安装rsync【业务服务器和备份服务器都需要安装】
安装rsync之前要先安装xinetd,因为我们要用xinetd来管理rsync进程
yum -y install xinetd
yum -y install rsync
安装完之后,可以在/etc/xinetd.d/目录下看到rsync进程的管理文件rsync
service rsync
{
disable= yes 【将yes改为no,表示启动xinetd服务时,启动rsync进程】
flags= IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
二、rsync的配置文件,只要有rsyncd.conf(主配置文件)、rsync.secrets(密码文件)、rsyncd.motd(服务器信息)
上述三个文件默认都是不存在的,需要手动创建
1、业务服务器上的配置
touch /etc/rsyncd.conf
touch /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets #将rsyncd.secrets密码文件属性设为root拥有,且权限设为600,否则无法备份成功。
touch /etc/rsyncd.motd
---------------------------------------------------------------------------------------------------------------------------
编辑rsyncd.conf
uid = root #进行备份的用户
gid = root #进行备份的组
use chroot = no #隔离目录,使其只能在指定的目录下活动。
max connections = 200 #最大连接数
timeout = 600 #超时时间
pidfile = /var/run/rsyncd.pid #pid文件的存放位置
lock file = /var/run/rsync.lock #锁文件的存放位置
log file = /var/log/rsyncd.log #log文件的存放位置
######以上是全局配置#####
[backup] #认证模块名,对外公布的名字
path = /backup/ #需要同步的目录的真实路径
comment = backup #描述
ignore errors #可以忽略一些无关的IO错误
read only = no #设置为no,指允许可读可写,没有特殊要求,一定要写成yes
list = no #不允许列出清单
hosts allow = 192.168.15.0/255.255.255.0 或者192.168.10.220 #可以写网段或者单个IP,多个IP以,号隔开
auth users = dong #进行认证的用户名,我测试的是可以随便写的
secrets file = /etc/rsyncd.secrets #密码的存放位置
以上部分配置选项,可以放到全局配置中,也可以放到局部配置中
-------------------------------------------------------------------------------------
编辑/etc/rsyncd.secrets 【这个文件只写用户名和密码,】
dong:123456
将rsyncd.secrets密码文件属性设为root拥有,且权限设为600,否则无法备份成功。
-------------------------------------------------------------------------------------
业务服务器上配置好后,重启一下xinetd服务
-------------------------------------------------------------------------------------
2、配置备份服务器
-------------------------------------------------------------------------------------
编辑/etc/rsyncd.secrets 【备份服务器上的密码文件,只需要写密码就可以了,】
123456
将rsyncd.secrets密码文件属性设为root拥有,且权限设为600,否则无法备份成功。
-------------------------------------------------------------------------------------
编写同步脚本rsyncd.sh
#!/bin/bash
#rsync备份脚本,将业务服务器(192.168.15.250)上的backup模块,备份到本机的/webbak目录下
#同步日志由该选项指定 --log-file=/etc/shell/$ip.log
ip=192.168.15.250
/usr/bin/rsync -avzP --partial --delete --password-file=/etc/rsyncd.secrets --log-file=/etc/shell/$ip.log dong@$ip::backup /webbak
-------------------------------------------------------------------------------------
设定计划任务,定时执行上述脚本【每天的23:30分开始执行该同步脚本】
[root@cunchu shell]# crontab -l
30 23 * * * /etc/shell/rsyncbak.sh