我想对这个问题进行投票:您使用什么应用程序来同步本地 PC 上的工作目录和远程目录(通过 FTP)?
我有点厌倦了使用 FTP 客户端来传输我一直编辑的每个文件。
在一个简单的情况下,您可以使用命令行程序scp
或ftp
命令行程序编写一个可以上传所有文件的小型命令行脚本。我使用 bash 脚本压缩所有文件,将其放在我的网络空间中,然后通过 ssh 解压缩文件。虽然这很容易在 linux 上使用 bash 来完成,但我认为你可以bat
在 Windows 上使用类似的文件。
对于较大的 Web 开发项目,将代码提交到服务器端源存储库并使用Capistrano等工具将其部署到远程服务器,这是一个功能强大且功能齐全的各种 Web 应用程序部署工具。
如果您要直接查看服务器上的文件,使用网络挂载可能会更容易。您可以在 Linux/OS X(通过 FUSE+ftpfs)或 Windows(它可以将 FTP 目录映射为网络驱动器,IIRC)中执行此操作。我自己更喜欢 sshfs,因为这意味着少了一项暴露给网络的服务。
但我同意其他人的观点——从长远来看,SCM 更好。
我使用 Subversion 将我的网站的本地副本(我在其上进行修改)与实时副本同步:每当我签入修订版时,SVN 挂钩脚本会自动更新实时站点......所以是的,我同意其他人谁在推荐源代码控制系统(SVN 或 Git)。它对我来说效果很好。
要考虑的一种替代方法是,一个类似于但仅传输已更改文件rsync
的 Linux 程序。scp
即使对于那些,它也使用类似 diff/patch 的算法来仅传输文件的更改部分。就像scp
,它通常通过 SSH 隧道运行,尽管还有其他不安全的操作模式。
You can have a look at some FTP tool that provides visual synchronization. For example, on Windows, Mac, or Linux, you can use CrossFTP to do one-way or two-way synchronization. It supports masks and filters, and you can preview/modify the results as shown in the picture. alt text http://img509.imageshack.us/img509/9417/picture1t.png
ftp upload 现在应该已经死了;如果你可以 ssh 到 ftp 服务器,scp 和 rsync -e ssh 会好很多。有 Windows GUI 客户端,但我使用 Cygwin 命令行
尽管听起来到目前为止的答案足以满足您的需求(问题听起来像是您只是在上传更改,而不是下载更改),但基于 ftp/scp/rsync 的答案仅真正适合单向同步。如果您需要双向同步(上传和下载更改),那么您需要使用基于远程文件系统的解决方案或(更好,IMO)适当的修订控制系统,例如 git、svn 或 cvs .
也许是转向颠覆的好时机,即使它不是 ftp。
如果您直接处理文件,那么也许您应该检查一个文本编辑器,该编辑器对处理 FTP 站点上的文件具有本机支持。UltraEdit (Windows) 和 BBEdit (Mac) 是我最喜欢的两个。