2

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

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。

4

1 回答 1

2

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

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

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

  • rsync最好的选择吗?
  • 整个文件副本 ( -W) 有意义吗?
  • 压缩 ( -z) 有意义吗?
  • 就地同步 ( --inplace) 有意义吗?

如果您的连接速度很,请开始使用-z--inplace查看rsync性能是否有所提高。

于 2015-04-24T20:42:01.517 回答