1 文件夹通过ftp拷贝到远程机器上
ftp是不支持文件夹传输的(sftp可以),如果一定要通过ftp传输文件夹,可以有几种策略:
(1)如果条件允许可以使用ftp软件,FlashFTP,CuteFTP都是支持文件夹传输的。
(2)如果无法使用ftp工具可以使用考虑先打成压缩包,然后传过去解压缩以后再移动到指定目录,这是比较推荐的方式,但是会让脚本变得复杂一些,而且需要额外的压缩和解压缩时间。
(3)如果上面两个条件都不允许,必须使用shell脚本来完成这个任务,那么可以参考下面的方法。
shell脚本:
#! /bin/sh
#bash ftpfloder.sh ip user pw /from /to
if [ $# != 5 ] ; then
echo "USAGE: $0 ip user pw /from /to"
echo " e.g.: $0 ip user pw /from /to"
exit 1;
fi
IP=$1 #服务器IP
user=$2 #ftp用户名
password=$3 #ftp密码
fromdir=$4 #源目录
todir=$5 #目的目录
dirs=`find $fromdir -type d -printf $todir/'%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'`
files=`find $fromdir -type f -printf 'put %p %P \