shell脚本 FTP一键上传

2021-06-23 17:30:11 浏览数 (1)

一.简介

写这个脚本的动机来自于黑五购买了一款什么都不限的虚拟主机,主机商死活不给 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"

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

0 人点赞