foeach_directory_and_uploadfile_to_ftp.sh
#!/bin/bash
updir=$1 #要上传的文件夹
todir=$2 #目标文件夹
ip=$3 #服务器
user=$4 #ftp用户名
password=$5 #ftp密码
# 判断参数的数量
if [ "$#" -lt 5 ];then
echo "缺少参数"
echo "$0 updir todir ip user password"
echo "updir 被上传的目录"
echo "todir 远程目录"
echo "ip FTP 服务器地址"
echo "user FTP 用户名"
echo "password FTP 用户密码"
exit
fi
# 判断输入的本地路径是否存在
if [ ! -d "$updir" ];then
echo "$updir 路径不存在"
exit
fi
# updir 本地路径去掉最后的 / 号
if [ "${updir:${#updir}-1:${#updir}}" == "/" ];then
updir=${updir:0:${#updir}-1}
# echo $updir
fi
# todir 远程路径去掉最后的 / 号
if [ "${todir:${#todir}-1:${#todir}}" == "/" ];then
todir=${todir:0:${#todir}-1}
# echo $todir
fi
LocalDir=`find $updir -type d -printf $todir/'%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'`
LocalFile=`find $updir -type f -printf 'put %p %P \n'`
ftp -nv $ip <
使用方法:
[root@localhost ~]# sh foeach_directory_and_uploadfile_to_ftp.sh 本地路径 远程路径 FTP服务器地址 FTP用户名 FTP用户密码