【发布时间】:2009-02-16 23:05:42
【问题描述】:
我想对这个问题进行投票:您使用什么应用程序来同步本地 PC 上的工作目录和远程目录(通过 FTP)?
我有点厌烦使用 FTP 客户端传输我一直编辑的每个文件。
【问题讨论】:
标签: synchronize
我想对这个问题进行投票:您使用什么应用程序来同步本地 PC 上的工作目录和远程目录(通过 FTP)?
我有点厌烦使用 FTP 客户端传输我一直编辑的每个文件。
【问题讨论】:
标签: synchronize
在一个简单的情况下,您可以使用scp 或ftp 命令行程序编写一个可以上传所有文件的小型命令行脚本。我使用 bash 脚本压缩所有文件,将其放在我的网络空间中,然后通过 ssh 解压缩文件。虽然这可以在 linux 上使用 bash 轻松完成,但我认为您可以在 windows 上使用 bat 文件进行类似操作。
对于较大的 Web 开发项目,将代码提交到服务器端源代码库,并使用 Capistrano 之类的工具将其部署到远程服务器,这是一个功能强大且功能齐全的各种 Web 应用程序部署工具。
【讨论】:
如果您要直接查看服务器上的文件,使用网络挂载可能会更容易。您可以在 Linux/OS X(通过 FUSE+ftpfs)或 Windows(它可以将 FTP 目录映射为网络驱动器,IIRC)中执行此操作。我自己更喜欢 sshfs,因为这意味着少了一项暴露于网络的服务。
但我同意其他人的观点 - 从长远来看,SCM 会更好。
【讨论】:
我使用 Subversion 将我的网站(我在其上进行修改)的本地副本与实时副本同步:每当我签入修订版时,SVN 挂钩脚本会自动更新实时站点......所以是的,我同意与所有推荐源代码控制系统(SVN 或 Git)的人一起。对我来说效果很好。
要考虑的另一种选择是rsync,这是一个类似于scp 的Linux 程序,但只传输已更改的文件。即使对于那些,它也使用类似于 diff/patch 的算法来仅传输文件的更改部分。与scp 一样,它通常通过 SSH 隧道运行,尽管还有其他不安全的操作模式。
【讨论】:
也许是转向颠覆的好时机,即使它不是 ftp。
【讨论】:
如果您直接处理文件,那么也许您应该检查一个文本编辑器,该编辑器对处理 FTP 站点上的文件具有本机支持。 UltraEdit (Windows) 和 BBEdit (Mac) 是我最喜欢的两个。
【讨论】:
ftp upload 现在应该已经死了;如果你可以 ssh 到 ftp 服务器,scp 和 rsync -e ssh 会好很多。有 Windows GUI 客户端,但我使用 Cygwin 命令行
【讨论】:
虽然听起来到目前为止的答案足以满足您的需求(问题听起来像是您只是在上传更改,而不是下载它们),但基于 ftp/scp/rsync 的答案只适合单向同步。如果您需要双向同步(上传和下载更改),那么您需要使用基于远程文件系统的解决方案或(更好,IMO)适当的修订控制系统,例如 git、svn 或 cvs .
【讨论】:
您可以查看一些提供视觉同步的 FTP 工具。例如,在 Windows、Mac 或 Linux 上,您可以使用 CrossFTP 进行单向或双向同步。它支持蒙版和过滤器,您可以预览/修改结果,如图所示。 alt text http://img509.imageshack.us/img509/9417/picture1t.png
【讨论】: