linux 下 rsync 备份/同步文件
2016-03-18 16:02
831 查看
rsync 是一个远程同步工具,可以用来备份数据库,或者图片服务器的图片
系统:centos6.4
主服务器IP:192.168.1.136
备份服务器IP:192.168.1.137
一、安装
查看是否安装,没有安装就yum 安装一下
二、服务器端配置
开启
修改 disable 的值为 no
加入自启动
为方便统一管理,将rsync 相关文件放在一个文件夹下【 rsyncd 】
创建 服务器端 配置文件
配置文件默认要在 /etc下
创建认证文件 格式 验证名:验证密码 一行一个,不必是系统用户
内容为
设置认证文件的权限
打开默认端口 873
加入
重启生效
启动 rsync
查看是否启动
看见这样的信息就是成功启动了
三、客户器端配置
按上述步骤安装好rsync
无须启动,直接运行语句
--password-file 指定密码文件,存放密码
内容为
-a archive mode; equals -rlptgoD,归档模式,相当于-rlptgoD,保证文件的属性,创建时间,用户组等信息
-v 进度信息
-z 压缩传输
--delete 保证客户端和服务器端的数据完全一致,若服务器文件被删除了,客户端也会删除
详细的参数列表执行 rsync -h 查看,一般来说 -avz 和 --delete 就可以满足需求了
四、定时备份/同步
在客户端设置定时执行同步
利用crontab
若没安装 crontab 执行如下命令安装
添加自启动
启动
加入(一分钟执行一次同步)
具体时间根据自己要求更改,比如每天凌晨1点执行一次同步,0 1 * * *
下图是136 和137服务器同步前和同步后的对比
192.168.1.136
192.168.1.137
在137 上执行同步后
images 文件已被删除,t6-6.jpg已同步下来
系统:centos6.4
主服务器IP:192.168.1.136
备份服务器IP:192.168.1.137
一、安装
查看是否安装,没有安装就yum 安装一下
rpm -qa | grep rsync
yum install rsync
二、服务器端配置
开启
vim /etc/xinetd.d/rsync
修改 disable 的值为 no
加入自启动
chkconfig rsync on
为方便统一管理,将rsync 相关文件放在一个文件夹下【 rsyncd 】
mkdir /etc/rsyncd
创建 服务器端 配置文件
vim /etc/rsyncd/rsyncd.conf内容/参数注释如下
# 用户和用户组 uid = root gid = root # 允许访问的客户机 hosts allow = 192.168.1.137 #拒绝访问的 #hosts deny = 0.0.0.0/32 # 能否切换目录 use chroot = no # 最大链接数 max connections = 10 # pid文件的存放 pid file = /etc/rsyncd/rsyncd.pid # max connections 参数的锁文件的存放位置 lock file = /etc/rsyncd/rsync.lock # 使 rsync 服务器将传输操作记录到传输日志文件 transfer logging = true log format = "%o %h [%a] %m (%u) %f %l" ########################################################## # 可以使用的日志格式定义符如下所示: # %a - 远程IP地址 # %h - 远程主机名 # %l - 文件长度字符数 # %p - 该次 rsync 会话的 PID # %o - 操作类型:”send” 或 “recv” # %f - 文件名 # %P - 模块路径 # %m - 模块名 # %t - 当前时间 # %u - 认证的用户名(匿名时是 null) # %b - 实际传输的字节数 # %c - 当发送文件时,记录该文件的校验码 ########################################################## # 日志记录文件的存放 log file = /etc/rsyncd/rsyncd.log # 欢迎信息 # motd file = /etc/rsyncd/rsyncd.motd ## 模块 # 模块名 自定义 [rsyncd] # 指定文件目录所在位置 [必须] path = /home/wwwroot/attachments # 注释 comment = rsync files # 指定在 rsync 服务器上运行 delete 操作时是否忽略 I/O 错误。 # 一般来说 rsync 在出现 I/O 错误时将跳过 –delete 操作,以防止因为暂时的资源不足或其它 I/O 错误导致的严重问题 ignore errors = true # 指定是否允许客户上传文件。若为 true 则不允许上传;若为 false 并且服务器目录也具有读写权限则允许上传 read only = true # 指定当客户请求列出可以使用的模块列表时,该模块是否应该被列出 list = no # 同步验证时用的账号,这里的用户和系统用户没有任何关系。 # 用户名和口令以明文方式存放在 secrets file 参数指定的文件中 auth users = rsync # 指定认证文件 secrets file = /etc/rsyncd/rsyncd.secrets # 指定是否监测口令文件的权限,若为 true 则口令文件只能被 rsync 服务器运行身份的用户访问,其他任何用户不可以访问该文件 strict modes = true
配置文件默认要在 /etc下
ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf
创建认证文件 格式 验证名:验证密码 一行一个,不必是系统用户
vim /etc/rsyncd/rsyncd.secrets
内容为
rsync:rsync123456
设置认证文件的权限
chown root:root /etc/rsyncd/rsyncd.secrets chmod 600 /etc/rsyncd/rsyncd.secrets
打开默认端口 873
vim /etc/sysconfig/iptables
加入
-A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
重启生效
service iptables restart
启动 rsync
rsync --daemon
查看是否启动
lsof -i:873
看见这样的信息就是成功启动了
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rsync 17978 root 4u IPv4 93140 0t0 TCP *:rsync (LISTEN) rsync 17978 root 5u IPv6 93141 0t0 TCP *:rsync (LISTEN)
三、客户器端配置
按上述步骤安装好rsync
无须启动,直接运行语句
rsync -avz --progress --delete rsync@192.168.1.136::rsyncd /home/wwwroot/attachments --password-file=/etc/rsyncd.pwd
--password-file 指定密码文件,存放密码
内容为
rsync123456
-a archive mode; equals -rlptgoD,归档模式,相当于-rlptgoD,保证文件的属性,创建时间,用户组等信息
-v 进度信息
-z 压缩传输
--delete 保证客户端和服务器端的数据完全一致,若服务器文件被删除了,客户端也会删除
详细的参数列表执行 rsync -h 查看,一般来说 -avz 和 --delete 就可以满足需求了
四、定时备份/同步
在客户端设置定时执行同步
利用crontab
若没安装 crontab 执行如下命令安装
yum install crontabs
添加自启动
chkconfig crond on
启动
service crond start添加定时任务
crontab -e
加入(一分钟执行一次同步)
*/1 * * * * rsync -avz --progress --delete rsync@192.168.1.136::rsyncd /home/wwwroot/attachments --password-file=/etc/rsyncd.pass
具体时间根据自己要求更改,比如每天凌晨1点执行一次同步,0 1 * * *
下图是136 和137服务器同步前和同步后的对比
192.168.1.136
192.168.1.137
在137 上执行同步后
images 文件已被删除,t6-6.jpg已同步下来
相关文章推荐
- centos下加入mysql环境变量
- Linux下常用压缩格式的压缩与解压方法
- Linux进程间通信的几种方式总结-概述
- CentOS SELinux
- linux syslog详解
- CentOS 7 部署 Kubernetes
- CentOS7.1 Liberty云平台之Compute篇(5)
- Linux实用小工具
- linux目录间的瞬间转移:dtags
- dos和Linux文本格式转换
- Linux自动密码修改
- Linux基础回顾之用户认证与加密
- zookeeper使用和原理探究 (注意linux下防火墙导致启动失败的坑,使用service iptables stop 关闭防火墙 使用service iptables status确认)
- Linux中的tar命令和scp命令
- SecureCRT连接CentOS
- linux 文件相关的命令
- linux下的时间函数
- 《Linux内核分析》第四周学习总结
- 再谈互斥锁与条件变量!(终于搞清楚了啊!!!!!)
- 网站服务器选择windows主机好还是linux主机好