我绝对喜欢Winscp中的Keep Remote Directory Up-to-date功能.不幸的是,我在OS X或Linux中找不到这么简单的东西.我知道同样的事情可以用changedfilesrsync来完成,但我总是发现这两种工具的教程都缺乏和/或相互矛盾.

我基本上只需要一个在OSX或Linux中工作的工具,在我更改本地目录时,使远程目录与本地目录保持同步(镜像).


Update

通过查看这些解决方案,我看到了一些解决方案,它们解决了保持远程目录与本地目录同步的一般问题.我知道我可以将cron任务设置为每分钟运行rsync,这应该非常接近实时.

这并不是我一直在寻找的解决方案,因为winscp可以做到这一点,甚至更多:它检测目录中的文件更改(在我处理这些更改时),然后自动将更改推送到远程服务器.我知道这不是最好的解决方案(没有代码存储库),但它允许我在开发代码时在服务器上快速测试代码.有人知道如何将rsync与任何其他命令结合使用以获得此功能吗?

推荐答案

您希望同步的"实时"程度如何?我仍然倾向于rsync,因为您知道它将在两种平台(Windows,也有cygwin)上得到完全支持,并且您可以通过cron作业(job)来运行它.我有一个在我的系统上运行的超级简单的bash文件(这可以删除not个旧文件):

#!/bin/sh
rsync -avrz --progress --exclude-from .rsync_exclude_remote . remote_login@remote_computer:remote_dir    

# options
#   -a  archive
#   -v  verbose
#   -r  recursive
#   -z  compress 

你最好的办法就是设置并try 一下.-n (--dry-run)选项是你的朋友!

请记住,rsync(至少在cygwin中)不支持unicode文件名(截至2008年8月16日).

Linux相关问答推荐

获取Perl文件::Tail开始在最后流传输文件

Postfix 连接到 domain.com[74.208.61.85]:587: 连接被 dovecot、opendkim 和 SSL 拒绝

使用 sed 从文本文件中删除特定字符串

如何使用 gcc 编译为程序集

如何在 Linux 中设置目录大小限制?

如何有效地使用 grep?

在使用文件时截断文件 (Linux)

是否可以在 Linux x86 GAS 程序集中创建没有系统调用的线程?

如何让 PHP、Symlinks 和 __FILE__ 很好地协同工作?

如何在 Bash 中对齐空格分隔表的列?

php.ini 更改,但在 Ubuntu 上无效

scp 使用私钥身份验证将目录复制到另一台服务器

谁决定任何数据类型或 struct 的大小(取决于 32 位或 64 位)?

使远程目录保持最新

如何在 Linux 上取消关机?

ngrok 如何在防火墙后工作?

Android - 找不到命令

如何在 UNIX 中将字符串转换为整数

将默认 Python 版本从 2.4 更改为 2.6

如何通过命令行识别特定的 Linux 风格?