加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

macos – 如何使用fswatch和rsync自动同步目录?

发布时间:2020-12-14 01:50:35 所属栏目:Linux 来源:网络整理
导读:我想使用rsync在两个本地目录之间自动运行单向同步.意味着在/ dir1或其子目录中检测到更改时,应运行以下命令: rsync -rtuv / dir1 / dir2 我怎样才能用fswatch实现这个目标? 是否可以为rsync提供参数,仅复制fswatch事件给出的已更改的实际文件? 解决方法
我想使用rsync在两个本地目录之间自动运行单向同步.意味着在/ dir1或其子目录中检测到更改时,应运行以下命令:

rsync -rtuv / dir1 / dir2

我怎样才能用fswatch实现这个目标?

是否可以为rsync提供参数,仅复制fswatch事件给出的已更改的实际文件?

解决方法

alias run_rsync='rsync -azP --exclude ".*/" --exclude ".*" --exclude "tmp/" ~/Documents/repos/my_repository username@host:~'
run_rsync; fswatch -o . | while read f; do run_rsync; done

第二行无条件地运行run_rsync,然后 – 当前目录中的每次更改(或指定精确路径而不是.)

Rsync选项:

> -a – 代表“archive”并递归同步并保留符号链接,特殊和设备文件,修改时间,组,所有者和权限.
> -z – 压缩
> -P – 结合标志–progress和–partial.第一个为您提供转移的进度条,第二个允许您恢复中断的转移
> –exclude – 按模式排除文件

你需要fswatch:

brew install fswatch

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读