FTP 上传一键脚本ftp_upload.sh

技术 1994 次围观 3 次吐槽

写这个脚本的动机来自于黑五购买了一款什么都不限的虚拟主机,主机商死活不给 SSH Access 帐号,那就意味着不能通过 wget,axel 之类的下载工具下载文件。好在虚拟主机都是开通 FTP 的,可以通过 FTP 上传文件,而我又懒得一行一行敲命令,于是就写了这么一个懒人脚本。

下面来介绍一下这个 FTP 上传一键脚本 ftp_upload.sh。

总结一下 ftp_upload.sh 特点:

1、支持文件批量上传至 FTP 指定目录;
2、没有了。

1、下载该脚本并赋予执行权限

下载脚本到本地待上传文件的目录下,比如:/data/www/default

cd /data/www/default
wget --no-check-certificate https://github.com/teddysun/across/raw/master/ftp_upload.sh
chmod +x ftp_upload.sh

2、修改并配置脚本

请使用 vim 或 nano 等工具来修改。

关于变量名的一些说明:

LOCALDIR (脚本当前所在目录)
LOGFILE (脚本运行产生的日志文件路径)
FTP_HOST (连接的 FTP 域名或 IP 地址)
FTP_USER (连接的 FTP 的用户名)
FTP_PASS (连接的 FTP 的用户的密码)
FTP_DIR (连接的 FTP 的远程目录,比如: public_html)

一些注意事项的说明:

1)脚本需要用到 ftp 命令,请事先安装好;
2)脚本运行产生的日志文件路径不要乱改;
3)脚本需运行在待上传文件的目录下;
4)脚本后面跟含有通配符的参数时,一定要加双引号。

3、脚本运行示例

脚本会显示待上传文件列表,并在最后统计出所需时间。

1)上传当前目录下的文件 filename.tgz

./ftp_upload.sh filename.tgz

2)上传当前目录下的多个文件 filename1.tgz,filename2.tgz,filename3.tgz

./ftp_upload.sh filename1.tgz filename2.tgz filename3.tgz

3)上传当前目录下的通配符文件 *.tgz(注意此时后面跟的参数要加双引号)

./ftp_upload.sh "*.tgz"

4)上传当前目录下的多个通配符文件 *.tgz,*.gz(注意此时后面跟的参数要加双引号)

./ftp_upload.sh "*.tgz" "*.gz"

最后,欢迎交流和提出意见。

转载请注明:秋水逸冰 » FTP 上传一键脚本ftp_upload.sh

发表评论
取消评论
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
表情

已有评论 (3)

  1. 上传至 FTP 指定目录? 大神 可以指定目录上传 然后删除文件吗?
    阿里路呀2个月前 (2016-12-04)回复
    • 我写这个脚本是为了方便自己传文件的(逃 关于这个指定目录,是指要修改 FTP_DIR 的值。
      秋水逸冰2个月前 (2016-12-04)回复
  2. 估计你没传完就被主机商封号了,哈哈
    神猪2个月前 (2016-12-03)回复