BASH 打包文件夹及文件夹内全部文件,上传至FTP服务器

BASH脚本打包文件夹及文件夹内全部文件并上传FTP服务器,用于快速下载服务器大文件的场景,如:服务器上有大小为2G,包含5万个文件的程序包,服务器带宽仅有2M,要快速下载这么大的文件夹,可先打包成ZIP压缩包,再上传至高带宽的文件服务器(如阿里云OSS),即可低成本高速完成下载过程。

下面以上传到阿里云OSS为例,在服务器上提前启动OSSFTP,然后运行下方代码的脚本

#!/bin/bash

ftpIP="127.0.0.1 2048"
uuid=$(cat /proc/sys/kernel/random/uuid)
filename="$(date +%s).${uuid^^}.zip"

function uploadFile {
	ftp -v -n $ftpIP<<EOF
	user OSS用户名 OSS密码
	binary
	passive
	put $filename
	bye
EOF
rm -rfv $filename
echo "此处是OSS链接$filename"
}

########################################################################
zip -r $filename 此处是被打包的文件夹名称
uploadFile


BASH 打包文件夹及文件夹内全部文件,上传至FTP服务器