FTP 文件上传脚本 ftp_upload.sh

编写这个脚本的初衷源于黑五期间购买了一款没有限制的虚拟主机,然而主机提供商不提供 SSH 访问权限,这意味着无法使用 wget 或 axel 等下载工具。幸运的是,虚拟主机支持 FTP,因此我可以通过 FTP 上传文件,而为了避免逐行输入命令,我便开发了这个简便的脚本。
接下来,我将介绍这个名为 ftp_upload.sh 的 FTP 上传一键脚本。
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"
最后,欢迎大家交流和提出意见。
