macos - fswatch + rsync 替代方案或更好的实现

标签 macos unix terminal rsync fswatch

我正在尝试监视文件夹及其子文件夹中的文件(HTML/CSS/JS/等)中的任何更改。文件更改后,我想将其从远程服务器上传到已安装的驱动器。目前,我在终端中使用它:

fswatch -o ~/Desktop/Site/ | xargs -n1 sh ~/Documents/App\ Syncs/rsync_files.sh

rsync_files.sh:

rsync -rvzut --info=progress2 --delete-after --delete-excluded --exclude-from=/Users/ME/Documents/App\ Syncs/exclude_list.txt /Users/ME/Desktop/Site/ /Volumes/devroot$/Site;

想法是,每次文件结构发生变化时,fswatch 都会调用 rsync。它可以工作,但速度非常慢,尤其是在糟糕的连接上。

我的问题是,我这样做是否正确,或者对于我想要实现的目标是否有更好的解决方案?我的 rsync 命令可以更好地优化吗?是否已经制作了一个应用程序可以为我做这件事?

基本上我想模仿 Dreamweaver 2014 中的文件面板,而不必使用 Dreamweaver。我的设置是 Sublime Text 3 和 Codekit 2。

最佳答案

我想这取决于瓶颈在哪里,这在你的问题中并不清楚。但有一件事:如果连接“糟糕”,我会担心在尝试调整rsync之前修复连接。

fswatch而言,您已经在使用-o,因此我没有设计进一步的方法来提高其性能。也许我会增加延迟值 (-l):问题中的命令将以最大频率 1 秒输出事件。将其调整为更高的值:从与同步作业完成所需的时间量相同数量级的值开始。

rsync而言,您可能会发现一些改进的空间。开始问自己以下问题(然后用谷歌搜索):

  • rsync 是最佳选择吗?
  • 整个文件复制 (-W) 有意义吗?
  • 压缩 (-z) 有意义吗?
  • 就地同步 (--inplace) 有意义吗?

如果您的连接速度,请开始使用-z--inplace并查看rsync性能是否良好改善。

关于macos - fswatch + rsync 替代方案或更好的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29174475/

相关文章:

linux - 文本处理 - 如何在 Unix 中以逗号分隔格式搜索字符串后打印行号?

c++ - 苹果系统。如何从 PNG 数据创建图像?

c - 获取PID信息

macos - Mac OS X 中的音高检测

r - 从 Linux 终端在 R 下将文件内容作为命令执行

清除 Linux C 中终端程序的输出

c - Mac OS X 10.7 (Lion) 中的 Nano 语法突出显示?

macos - AppleScript : How to get files in folder without hidden files?

linux - shell pipe 如何处理死循环

用于 unix 'at' 命令的 Ruby gem