本地向服务器传输文件、文件夹
#!/bin/bash
# 待上传件目录
echo $PWD/logistic
export UPLOAD_PATH=$PWD/logistic
# FTP空间访问地址
# FTP空间网站根路径
export FTP_ROOT_PATH=
# FTP用户名
export FTP_USERNAME=
# FTP密码
export FTP_PASSWORD=
# 进入博客工作目录
# 递归读取目录
read_dir(){
# 遍历文件夹
for file in `ls -a $1`; do
# 当前文件完整路径
localFile=$1/$file
# 截取掉本地路径
len=${#UPLOAD_PATH}
# 截取当前文件所属目标文件夹
mdir=${1:$len}
echo mdir
# 如果file存在且是一个目录
if [ -d $localFile ]; then
# 排除.和..目录
if [[ $file != '.' && $file != '..' ]]; then
# 登录FTP,在FTP空间创建对应的文件夹
ftp -v -n xxxx --passive << EOF
user
echo '>>>mkdir: '$FTP_ROOT_PATH$mdir/$file
mkdir $FTP_ROOT_PATH$mdir/$file
close
bye
EOF
read_dir $localFile
fi
else
# 如果是文件,上传文件到FTP空间
ftp -v -n xxxx --passive << EOF
user sftcwl sftcwl
cd $FTP_ROOT_PATH$mdir
lcd $1
binary
hash
prompt
!echo '>>> upload: '$localFile
put $file
close
bye
EOF
echo '>>> upload: '$localFile ' ===> 文件上传完成'
fi
done
}
# 执行
read_dir $UPLOAD_PATH