VPN技术 · 2023年11月10日 0

FTP文件上传脚本

FTP 文件上传脚本 ftp_upload.sh

FTP文件上传脚本

编写这个脚本的初衷源于黑五期间购买了一款没有限制的虚拟主机,然而主机提供商不提供 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"

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