前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >rsync命令技巧

rsync命令技巧

作者头像
qsjs
发布2022-05-13 13:19:08
8160
发布2022-05-13 13:19:08
举报

rsync 的常用参数如下: --partial 当有部分文件传输完成,再次传输的时候,会保留已经完成的部分; --progress 打印文件传输的进度 -P 该参数与 --partial --progress 相同, 表示打印文件传输进度,而对于重传发生的时候,会自动保留已经成功传输的部分 -v 表示 同步的时候,显示详细信息 -a 等同于 -rlptgoD , 但是没有 -A (保留acl ), -H (保留硬链接), -X (保留 extended attributes),因为acl,extended attributes 需要目标文件系统支持才可能实现保留 -r : 递归到目录中 -l : 保留软链接 -p : 保留文件的权限 -t : 保留文件的修改时间 -g : 保留所属组 -o : 保留 所属者 -D : 与 --devices --specials 相同,表示保留 设备文件以及特殊文件; 所以常用的参数为: rsync -avP

我们知道,rsync 默认采用873 端口来进行通信,当有client连接进来的时候,会创建一个新的socket, 从而建立连接;这样可能面临被攻击的风险,比如黑客成功和rsync建立了新的socket连接(873端口). 所以,我们可能面临这样的需求: 在server端"不创建新的socket连接",但是依然要实现数据的传输; rsync是支持这种特性的; 没有 socket 连接不能实现网络通信,而又不能创建新的socket连接,那么要实现网络通信就只能使用 :已经处于listen状态的socket来进行通信;rsync的 -e 参数就是用来支持这个特定的: 当指定 -e 参数后,比如 rsync -e "ssh -l ssh_id -p PORT " rsync_user@REMOTE:/PATH/TO/COPY ./ , 这个命令的执行过程如下: 因为-e 指定了远程shell, 所以 rsync 会利用ssh 方式连接到目标服务器,ssh的用户是 ssh_id , 端口是 PORT, 成功连接后,会spawn 一个单用户的rsync 进程,从而保证了当前的rsync传输数据的安全性,因为没有其他用户可以访问这个进程 . 如果不指定ssh的用户,那么默认的 rsync_user 用户被用作ssh的用户;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档