首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WinSCP的全自动本地-远程SFTP同步的OSX等价物?

WinSCP的全自动本地-远程SFTP同步的OSX等价物?
EN

Stack Overflow用户
提问于 2009-09-11 22:52:43
回答 3查看 2.3K关注 0票数 2

我深情地记得使用WinSCP和使用全自动的本地到远程同步功能,应用程序将监控目录层次结构,并在发生更改时将更改发送到远程服务器。

在OSX上有没有应用程序可以完成同样的事情?我真的找不到任何东西。当我发现一些有希望的东西时,它总是被证明是一个传统的同步应用程序,你需要手动启动sync命令,然后它会扫描层次结构来查找更改的文件。这需要花费太长的时间,而且不是自动化的。

我一直在看File System Events API,想知道是否可以用一个小实用程序将一个小应用程序拼凑在一起,以触发层次结构的更改,并将更改后的目录提供给rsync或其他什么。

感谢您的任何线索!

EN

回答 3

Stack Overflow用户

发布于 2009-09-11 23:15:56

您可以使用两个特定于Mac的实用程序来简化您的工作:

  • 自动化程序(linklink操作( linklink)

这两个工具都将AppleScript作为公共线程(可用于执行外壳命令)。您可以编写一个小的AppleScript,它在文件夹更改时启动,以调用rsync并执行所需的服务。

票数 2
EN

Stack Overflow用户

发布于 2013-01-21 17:23:13

嗯,我遇到了同样的问题,并且可以同时使用这些工具: rsync、SSH Passwordless Login、Watchdog ( Python同步实用程序)和Terminal Notifier (用Ruby制作的OS X通知实用程序)。不需要,但有助于知道同步何时完成)。

  1. 我使用这个教程创建了无密码登录的密钥,该教程来自Dreamhost维基:http://cl.ly/MIw5

1.1。完成后,测试是否一切正常…如果你不能无密码登录,也许你必须尝试法新社挂载。Dreamhost (我的网站所在位置)不允许afp装载,但允许无密码登录。在终端中,键入:

ssh username@host.com您应该在不询问密码的情况下登录:p

  • 我从Github页面安装了终端通告程序:http://cl.ly/MJ5x

2.1。我使用了Gem installer命令。在终端中,键入:

gem install terminal-notifier

2.3。测试通知works.In终端,键入以下内容:

terminal-notifier -message "Starting sync"

  • 创建一个sh脚本来测试rsync +通知。将它保存在您喜欢的任何位置,并使用您喜欢的名称。在本例中,我将其命名为~/Scripts/sync.sh,我使用了".sh“扩展,但我不知道是否需要它。

#!/bin/bash terminal-notifier -message "Starting sync" rsync -azP ~/Sites/folder/ user@host.com:site_folder/ terminal-notifier -message "Sync has finished"

3.1。记住要为这个sh脚本提供执行权限。在终端中,键入:

sudo chmod 777 ~/Scripts/sync.sh 3.2。运行脚本并验证消息是否正确显示,以及rsync是否将您的本地文件夹与我从Github页面下载并安装的远程folder.

  • Finally,同步:http://cl.ly/MJfb

4.1。首先,我使用Brew安装了libyaml依赖项(有很多关于如何安装Brew的帮助-就像OS X上的“智能”)。在终端中,键入:

brew install libyaml

4.2。然后,我使用了"easy_install命令“。进入Watchdog文件夹,输入Terminal:

easy_install watchdog

  • 现在,一切都已安装!转到您想要同步的文件夹将此代码更改为您的需要,然后键入终端:

watchmedo shell-command --pattern=“*.php;*.txt;*.js;*.css”\--递归\--命令=‘~/脚本/Sync.sh’\。

它必须以这种方式进行,包括斜杠和换行符,所以您必须将这些行复制到文本编辑器,更改脚本,粘贴到中,然后按return键。

我试了一下没有换行,但它不起作用!

在我的Mac上,我总是得到一个错误,但它似乎不会影响任何事情:

/Library/Python/2.7/site-packages/argh-0.22.0-py2.7.egg/argh/completion.py:84: UserWarning: Bash completion not available. Install argcomplete.

现在,在文件夹内的一个文件中做了一些更改,并观看了魔术!

票数 1
EN

Stack Overflow用户

发布于 2010-01-21 15:58:50

我相信transmit可以做到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1413637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档