博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速部署Rsync
阅读量:5934 次
发布时间:2019-06-19

本文共 2173 字,大约阅读时间需要 7 分钟。

环境拓扑

服务器:192.168.1.10
客户端:192.168.1.12

一、安装rsync(服务器、客户端都需要安装)

#tar zxvf rsync-3.0.8.tar.gz
#cd rsync-3.0.8
#./configure && make && make install

二、配置server

#vi /etc/rsync.conf 创建配置文件,加入如下内容
uid = nobody
gid = nobody
use chroot = no    //不使用chroot
max connections = 10    //最大连接数
pid file = /var/run/rsyncd.pid   //pid存放位置
lock file = /var/run/rsyncd.lock   //锁文件存放位置
log file = /var/log/rsyncd.log    //日志文件存放位置
port = 873   //默认端口
timeout = 300   //超时时间
[backup]   //项目名称
read only = no  //是否允许只读
list = yes  //是否允许列表
ignore errors   //忽略一些无关的IO错误
comment = This is a file back  //项目名称描述
path = /opt  //需要同步的文件路径
auth users = test   //认证用户
secrets file = /etc/rsync.passwd   //用户、密码对应文件
hosts allow = 192.168.1.11,192.168.1.12   //允许授权同步的客户端

创建用户、密码对应文件

# vi /etc/rsync.passwd
test:123456
# chmod 600 /etc/rsync.passwd    //权限必须为600
# rsync –daemon –config=/etc/rsync.conf    //启动rsync
# echo "rsync –daemon –config=/etc/rsync.conf" >>/etc/rc.local
启动后使用netstat查看,会发现系统已启动873端口

三、客户端设置

创建密码文件
# vi /etc/rsync.passwd
123456
# chmod 600 /etc/rsync.passwd

测试

# rsync -vzrtopg –progress –delete test@192.168.1.10::backup /tmp –password-file=/etc/rsync.passwd
注释:将服务器192.168.1.10需要备份的文件同步到本地/tmp目录

编写脚本

# vi /etc/rsync.sh  加入如下内容
#!/bin/bash
rsync -vzrtopg –progress –delete test@192.168.1.10::backup /tmp –password-file=/etc/rsync.passwd

# chmod +x /etc/rsync.sh

设置定时同步,每5分钟同步一次

# crontab –e
5 * * * * /etc/rsync.sh

全文完

———————————————————————————————————————
命令介绍:-rvlHpogDtS
rsync命令参数
-v表示verbose详细显示
-z表示压缩
-r表示recursive递归
-t表示保持原文件创建时间
-o表示保持原文件属主
-p表示保持原文件的参数
-g表示保持原文件的所属组
-a存档模式
-P表示代替-partial和-progress两者的选项功能
-e ssh建立起加密的连接。
–partial阻止rsync在传输中断时删除已拷贝的部分(如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上
删除已拷贝的部分文件。)
–progress是指显示出详细的进度情况
–delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。
–exclude不包含/ins目录
–size-only 这个参数用在两个文件夹中的差别仅是源文件夹中有一些新文件,不存在重名且被修改过的文件,因为这种文件有可能会因为内容被修改可大小一样,而被略过。这个参数可以大大地提高同步的效率,因为它不需要检查同名文件的内容是否相同。
–password-file来指定密码文件,内容包含server端指定认证用户的密码。
这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。
hening@192.168.0.217::backup
hening是指server端指定认证的用户
192.168.0.217是指服务器端的ip
::backup 表示服务器端需要同步的模块名称;
/home/quack/backup/$DATE是同步后的文件指存放在本机的目录地址。
/var/log/rsync.$DATE是同步后的日志文件存放在本机的目录地址

本文地址:

转载地址:http://nujtx.baihongyu.com/

你可能感兴趣的文章
展望99股市:谁是重组大黑马?(转)
查看>>
[置顶] SQL注入问题
查看>>
图片预加载
查看>>
一道小学数学题
查看>>
ASUS主板ALC887声卡,RTL81XX网卡,黑苹果驱动安装
查看>>
实用的正则表达式
查看>>
二分查找算法(递归与非递归两种方式)
查看>>
linux里的bootproto的none,static,dhcp有什么区别
查看>>
安全框架 SpringSecurity 和 Shiro 对比
查看>>
MFC中状态栏显示鼠标坐标位置
查看>>
[AngularFire 2] Push, remove, update
查看>>
Uint8Array 对象
查看>>
写好shell脚本的13个技巧【转】
查看>>
Hash算法的讲解
查看>>
Python的datetime模块分析
查看>>
负载均衡----实现配置篇(Nginx)
查看>>
Hive的基本介绍
查看>>
sql server 2000 sp3 数据库复制 修改sp_MSget_repl_commands
查看>>
openlayer9 http://hi.baidu.com/perneter/blog/item/194f1399ba4135056e068cde.html
查看>>
android系统常用Uri
查看>>