nohup rsync -avz --progress  --update  --include='*/' --include='.*' --bwlimit=1000 agent/ /test/ > /root/file.log 2>&1 & 
这条命令意思是用rsync 来进行同步
--progress   显示详细输出
--update   增量同步
--include='*/' --include='.*'    同步隐藏目录以及隐藏文件
--bwlimit=1000   限速1000KB
从 v3.1.0 版本开始rsync 会自动同步隐藏文件,不需要加参数

rsync 脚本举例:实现实时同步,并删除源目录 #
!/bin/bash src='/root/a' dest='/root/b' inotifywait -mrq -e close_write -e moved_to -e create "$src" --format '%w%f' | while read path action file; do rsync -av --remove-source-files "$src/$file" "$dest"; done
rsync
-av --ignore-existing --ignore-existing选项会告诉rsync忽略目标目录中已存在的文件

 rsync 不使用ssh 进行文件同步使用daemon 模式

1. 在目标机 172.16.0.6 操作

1.1 创建配置文件

cat >/etc/rsyncd.conf <<'EOF'
uid = root
gid = root
use chroot = no
max connections = 10
log file = /var/log/rsyncd.log

[data1]
path = /root/data1
read only = false
hosts allow = 172.16.0.14
hosts deny  = *
EOF

image

image

 只要把 hosts allowhosts deny 这两行删掉或注释掉,rsyncd 就不再对客户端 IP 做限制,任意主机都能连上来。

1.2 创建接收目录并赋权

mkdir -p /root/data1
chmod 755 /root/data1

1.3 启动 daemon(一次性,或写 systemd)

rsync --daemon
rsync --daemon --port=1873
默认监听 873 端口;可以指定其他端口
 

2. 在源机 172.16.0.14 操作

2.1 直接推送(完全开放,无密码)

rsync -avz --delete /root/data/  172.16.0.6::data1/

 

posted on 2023-04-13 14:13  属于我的梦,明明还在  阅读(1167)  评论(0)    收藏  举报