linux rsync实现两个目录的同步
来源:互联网 发布:c语言全排列函数 编辑:程序博客网 时间:2024/04/27 15:05
需求:
生产库的图片放到了服务器的/image目录下,图片很重要啊,千万不能有啥闪失,所以要备份。
第一个念想是将其拷贝一份到其他目录,但又怕服务器莫名其妙的给挂掉了,所以要备份到其他服务器上,这样安全系数才高点。
/image目录很大,且里面经常有图片更新,还要同步到其他服务器上一份,鉴于这种需求,毅然决然的选择了rsync,虽说这不一定是最好的选择,但它能够实现以上需求就够了。
rsync 简介:
rsync是类unix系统下的数据镜像备份工具,可以实现两个目录下的内容同步
优点:
1.能镜像整个目录树和文件系统
2.能保持镜像后的文件权限,时间和软硬连接不变
3.安装简单
4.支持scp以及ssh等方式安全的传输文件
操作环境:
192.168.1.60 server
192.168.1.92 client
要将192.168.1.60:/image下的内容同步到192.168.1.92:/image下
让60机器做Server,92机器做client,60主动将/image下的内容同步到92上
server端配置
1.检查是否安装了rsync包
[root@pw ~]# rpm -qa |grep rsync
rsync-2.6.8-3.1
2.在/etc目录下添加rsyncd.conf
[root@test1 ~]# vi /etc/rsyncd.conf
uid = nobody
gid = nobody
max connections = 4 # 最大能让4个client连接
timeout = 600
use chroot = no
read only = yes
pid file=/var/run/rsyncd.pid
log file=/var/log/rsyncd.log
lock file=/var/log/rsyncd.lock
#rsync config
[rsync_image]
path = /image # 要同步的目录
ignore errors
read only=true # 权限为只读
list=false
hosts allow =192.168.1.92 # 允许的主机ip地址
hosts deny=0.0.0.0/32
auth users=pw # 认证用户
secrets file=/etc/pw.pass # 密码文件
以上内容可以通过man rsync.conf获得
3.定义密码文件
# vi /etc/pw.pass
pw:pw123
# chmod 400 /etc/pw.pass
4.rsync服务器启动的方式
/usr/bin/rsync --daemon
rsync服务使用的端口是873,可以通过netstat -n |grep 873来看一下服务是否已经启动
[root@pw ~]# /usr/bin/rsync --daemon
[root@pw ~]# netstat -an |grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
tcp 0 0 :::873 :::* LISTEN
*****************
client端配置
1.创建client端密码文件
# vi /etc/rsync_client.pass
pw123
# chmod 600 /etc/rsync_client.pass
2.同步命令:
/usr/bin/rsync -vzrtopg --progress --delete --password-file=/etc/rsync_client.pass pw@192.168.1.60::rsync_image /image
参数说明:
-vzrtopg里的
v是verbose详细模式输出
z是压缩
r是recursive递归
topg都是保持文件原有属性如属主、时间的参数
--progress
是指显示出详细的进度情况
--delete
是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
--exclude="*.tmp"
不包含某些文件
--execlude-from= 排除不需要同步的目录
--password-file
指定CLIENT端密码文件存放路径
同步命令的格式为:/usr/bin/rsync -参数 用户名@同步服务器的IP::rsyncd.conf中那个方括号里的内容 本地存放路径
3.将同步命令加入到机会任务中,实现定时同步
# crontab -e
30 23 * * * /usr/bin/rsync -vzrtopg --progress --delete --password-file=/etc/rsync_client.pass pw@192.168.1.60::rsync_image /image > /dev/null 2>&1
- linux rsync实现两个目录的同步
- Linux rsync目录同步功能实现
- Linux rsync目录同步功能实现
- rsync + inotify 实现文件目录的实时单向同步
- Linux rsync 同步大量文件及目录的处理
- Linux--rsync实现文件同步
- rsync实现文件的同步
- 用rsync实现windows与linux文件同步的方法
- 使用rsync +cwrsync实现windows和linux的文件同步
- 使用rsync +cwrsync实现windows和linux的文件同步
- Linux-非结构化数据同步-Linux下Rsync+Rsync实现非结构化增量差异数据的同步2
- 实现Linux双机文件同步rsync
- linux下rsync实现文件备份同步
- inotify + rsync实现linux文件实时同步
- inotify + rsync 实现 linux 文件实时同步
- linux下rsync实现文件同步
- Rsync实现Linux-Windows文件同步
- Linux学习--rsync同步备份实现
- local unversioned, incoming add upon update
- PHP5.2 apache2.2 连接oracle9i 解决办法
- C#设置Cookies
- cocos2d-x 实现clash of clans多点聚焦缩放场景
- Hive 源码解析—之—Hive的入口
- linux rsync实现两个目录的同步
- WebChartControl X轴显示问题
- Linux HAL (Hardware Abstraction Layer)的工作原理
- JXL 导入
- Tomcat 设置访问密码
- Android 的视频编码 H263 MP4V H264
- jni入门
- cocos2d-x 情况收集:多量文字渲染崩溃
- Kruskal算法