通过 FTP 替换整个网站

通过 FTP 替换整个网站

我有一套工具,可以定期(大约每天一次)为网站生成一套完整的静态 HTML 页面以及相关的文件夹结构等。

然后我需要将这些文件放到生产服务器上,我的问题是服务器运行 IIS(我认为是 6)并且我只有常规 FTP 访问权限。

我需要一种方法来自动化发布新网站的过程,并且每次发布时都需要完全替换文件,例如删除整个文件夹和内容,然后放上新的文件。

我的源服务器是一台 ubuntu 机器,并且我完全控制着它,我曾尝试使用 CurlFTpFS,但是对于我想要做的事情来说它似乎太慢了并且被锁定了。

答案1

编写一个脚本。您可能会发现 Expect 很合适,对于某些人来说,它的学习难度较低。我通常会执行如下操作来重定向 bash 中的输入:

ftp HOST<<_EOF
USER
PASSWORD
ls
_EOF

预计

答案2

如果可以,请使用 rsync。Rsync 允许您生成差异文件,显示哪些内容已更改、哪些内容存在于目标中但源中不存在等。它将使此类任务变得容易得多。

有几种适用于 Windows 的 rsync 重新包装版本。

答案3

我会使用 ftpfs 检查 FUSE,这样您就可以通过 ftpfs 轻松安装外部服务器,并像使用常规文件系统一样使用它,因此只需编写一个脚本即可更新整个页面。我在 Mac 上使用 FUSE 和 ftpfs,它在那里表现得相当好,所以我想 Linux 应该不会有太大区别。

答案4

Yuu 可以使用 Kermit FTP 客户端,它有自己的脚本语言/语法来自动执行 FTP 上传。这似乎有点棘手,但看起来应该可以解决问题

http://www.columbia.edu/kermit/ftpclient.html

相关内容