Sucha's Homepage ~ Upload Script

Upload Script/上传文件的 Shell Script

最近更新: 2006-08-05

本页目录

下载试用
使用方法
本地目录设置
记录文件
FTP 登陆设置
它是如何工作的?
"臭虫"
脚本历史

下载试用

Download the script here~! (version 1.04)

bash 版本信息:GNU bash, version 3.00.15(2)-release (i486-slackware-linux-gnu)

NcFTP 版本信息:
Program version: NcFTP 3.1.7/120 Jan 07 2004, 01:50 AM
Library version: LibNcFTP 3.1.7 (January 6, 2004)

使用方法

使用方法是很简单的,不过也要注意一些小小的细节,:)

本地目录设置

publish_dir 就是存放你 index.html 或是 WelcomePage.html 的目录,同时也对应着服务器上你存放同样文件的目录,记得在目录的最后加上“/”

publish_dir=$HOME/your/publish-dir/

记录文件

这个文件用来记录程序运行的最后时间(modified time),在这之后被更改过的普通文件都会被上传,这里的设置一般不用修改。

ctf=$publish_dir.ctime.txt

FTP 登陆设置

  1. 如果服务器上的 publish_dir 就是你登入的文件夹,那么在变量设置的最后应该像下面这样,为一个"空格"后添一个"."。
    ftp="-E -u user -p passwd -P port www.ftp.com ."
    
  2. 如果服务器上的 publish_dir 是你登入后的下一级文件夹,那么变量应如下设置,填写你服务器上的 publish_dir,记得最后不用加上"/"。
    ftp="-E -u user -p passwd -P port www.ftp.com remote_serve_html"
    

它是如何工作的?

  1. 如果是第一次运行程序,将会创建用于记录、比较修改时间的文件.
  2. 递归地检查目录,使用 find 命令来找出当前文件夹下面已经修改过的文件(文 件的修改时间比记录文件的修改时间要新),然后用 ncftpput 来上传。
  3. 若其中任何一个文件上传失败,程序将不更新记录文件,这时你需要再次运行 这个脚本重新上传。(感谢 zhao wang, arithboy AT gmail DOT com)

"臭虫"

脚本在我这里运行还好,如果你有什么问题或建议,请联系我 EmailMe

脚本历史

最开始是想找一个软件用来上传更新过的文件,而不必将整个文件夹一股脑都上传。

后来找到了 Liyu 大哥编的 elisp 小程序 upload-remote.el,但不知道为什么,这个程序在我这里用不了,而当时我一点都不了解 elisp,搞得使用 emacs-wiki 写网页容易但上传很麻烦。

不过很感谢他提出用 ncftpput 上传的方法,给了我灵感,加上自己正在学习 bash 编程,于是花了不少时间编了这个upload script,正好用它来更新我的网站。