我想使用rsync
自动在两个本地目录之间运行单向同步。意味着在/dir1
或其子目录中检测到更改时,应运行以下命令:
rsync -rtuv /dir1 /dir2
如何使用fswatch
来实现此目标?
是否可以为rsync
提供参数,仅复制fswatch
事件给出的已更改的实际文件?
答案 0 :(得分:19)
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选项:
您需要fswatch
:
brew install fswatch