坚持以客户需求至上原则
中国老牌优质服务商

shell 脚本操作 ftp 上传整个文件夹

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用户密码
赞(28)

更专业 更快速 更方便

华夏名网VIP服务