rsync
Rsync同步文件
默认端口 873
Windows客户端使用的cwRsync 6.1.0 可以在官网下载
https://www.itefix.net/cwrsync

linux端可以使用yum install -y rsync直接安装,也可以在官网http://rsync.samba.org 下载最新源码或二进制包安装。
文件流向
rsync -av /root/sh/a/ /root/sh/b/
->
拉取和推送都是同一个命令 只是文件流向
关于文件的pull和push
建议备份机器拉去要被备份机器的文件 可以减轻 生产机器的压力
看侧重于哪一方 pull 和push 都可以
关于文件夹和文件问题
text 和 text/
一代表 同步text这个文件夹
二代表 同步text下的所有文件
rsync -avz -e 'ssh -p 22' /root/rsyncfile/ root@82.157.172.66:/root/rsyncfile/
这种方式要输入密码还有一种以守护进程的方式同步
在生产环境创建客户端
rsync的配置文件: /etc/rsyncd.conf(默认不存在)
# vim /etc/rsyncd.conf
pid file=/var/lock/subsys/rsync.pid
lock file=/var/lock/subsys/rsync.lock
uid=361
gid=361
log file=/var/log/rsync.log
timeout=100
[dir1]
path=/data/backup
max connections=100
use chroot=yes
read only=no
list=yes
auth users=lgl
secrets file=/etc/rsync.pwd
hosts allow=192.168.31.0/24
创建用户同步的用户
echo "lgl:1" > /etc/rsyncd.passwd
查看权限
ll /etc/rsyncd.passwd
设置权限
chmod 600 /etc/rsyncd.passwd

设置守护进程
rsync --daemon
查看是否运行
netstat -luntp

客户机 部署完成!
接下来部署用来备份的机
rsync -avz suser@121.43.149.217::dir1 /root/rsyncfile/
可以正常使用但是还是需要输入密码,可以在备份机指定密码
echo "123456" > /etc/rsyncd.passwd
记得修改密码文件的权限

rsync -avz suser@121.43.149.217::dir1 /root/rsyncfile/ --password-file=/etc/rsyncd.passwd
完成!
可以拉也可以推
或者也可以使用rsync协议
rsync -avz rsync://suser@121.43.149.217/dir1 /root/rsyncfile/ --password-file=/etc/rsyncd.passwd
windows下
cwRsync 不能直接认识本地盘,需要使用/cygdrive/
/cygdrive/C/ideaCode/target/es-demo-0.0.1-SNAPSHOT.jar这个代表的是C:/ideaCode/target/es-demo-0.0.1-SNAPSHOT.jar
如果报错
rsync: command not found
都要装下reync
两台电脑都要安装rsync
yum -y install rsync
选项 说明
-a, ––archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等价于 -rlptgoD (注意不包括 -H)
-r, ––recursive 对子目录以递归模式处理
-l, ––links 保持符号链接文件
-H, ––hard-links 保持硬链接文件
-p, ––perms 保持文件权限
-t, ––times 保持文件时间信息
-g, ––group 保持文件属组信息
-o, ––owner 保持文件属主信息 (super-user only)
-D 保持设备文件和特殊文件 (super-user only)
-z, ––compress 在传输文件时进行压缩处理
––exclude=PATTERN 指定排除一个不需要传输的文件匹配模式
––exclude-from=FILE 从 FILE 中读取排除规则
––include=PATTERN 指定需要传输的文件匹配模式
––include-from=FILE 从 FILE 中读取包含规则
––copy-unsafe-links 拷贝指向SRC路径目录树以外的链接文件
––safe-links 忽略指向SRC路径目录树以外的链接文件(默认)
––existing 仅仅更新那些已经存在于接收端的文件,而不备份那些新创建的文件
––ignore-existing 忽略那些已经存在于接收端的文件,仅备份那些新创建的文件
-b, ––backup 当有变化时,对目标目录中的旧版文件进行备份
––backup-dir=DIR 与 -b 结合使用,将备份的文件存到 DIR 目录中
––link-dest=DIR 当文件未改变时基于 DIR 创建硬链接文件
––delete 删除那些接收端还有而发送端已经不存在的文件
––delete-before 接收者在传输之前进行删除操作 (默认)
––delete-during 接收者在传输过程中进行删除操作
––delete-after 接收者在传输之后进行删除操作
––delete-excluded 在接收方同时删除被排除的文件
-e, ––rsh=COMMAND 指定替代 rsh 的 shell 程序
––ignore-errors 即使出现 I/O 错误也进行删除
––partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输
––progress 在传输时显示传输过程
-P 等价于 ––partial ––progress
––delay-updates 将正在更新的文件先保存到一个临时目录(默认为 “.~tmp~”),待传输完毕再更新目标文件
-v, ––verbose 详细输出模式
-q, ––quiet 精简输出模式
-h, ––human-readable 输出文件大小使用易读的单位(如,K,M等)
-n, ––dry-run 显示哪些文件将被传输
––list-only 仅仅列出文件而不进行复制
––rsyncpath=PROGRAM 指定远程服务器上的 rsync 命令所在路径
––password-file=FILE 从 FILE 中读取口令,以避免在终端上输入口令,通常在 cron 中连接 rsync 服务器时使用
-4, ––ipv4 使用 IPv4
-6, ––ipv6 使用 IPv6
––version 打印版本信息
––help 显示帮助信息

浙公网安备 33010602011771号