gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 05:02:33 32 4
gpt4 key购买 nike

我想使用 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 - 代表“存档”并递归同步并保留符号链接(symbolic link)、特殊和设备文件、修改时间、组、所有者和权限。
  • -z - 压缩
  • -P - 结合标志 --progress 和 --partial。其中第一个为您提供传输进度条,第二个允许您恢复中断的传输
  • --exclude - 按模式排除文件

  • 您将需要 fswatch :
    brew install fswatch

    关于macos - 如何使用 fswatch 和 rsync 自动同步目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34575374/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com