当前位置: 技术问答>linux和unix
shell怎么调用ftp命令
来源: 互联网 发布时间:2016-07-09
本文导语: 写一个shell,把 /test51/opencrm3/gxpso 下边file1下边的所有的文件复制到file2下边,把文件改名,加上复制的日期 要求: 1、要求遍历自动生成文件夹,复制不能用cp命令,用ftp命令来实现,即自动从一个文件夹ftp到另一个,...
写一个shell,把 /test51/opencrm3/gxpso 下边file1下边的所有的文件复制到file2下边,把文件改名,加上复制的日期
要求:
1、要求遍历自动生成文件夹,复制不能用cp命令,用ftp命令来实现,即自动从一个文件夹ftp到另一个,之后进行ftp
2、把文件改名,后边加日期。例: file1下边的 32.125 下的 ubb.atmi 复制到 file2 32.125下边的 ubb.atmi.20080808
我的实现如下:
#!/bin/sh
if find /test21/opencrm2/gxpso/file1 -type d
then
pathdirectorylist=$(find /test21/opencrm2/gxpso/file1 -type d)
for sdirectoryname in ${pathdirectorylist}
do
gdirectoryname=$(echo $sdirectoryname | awk 'gsub(/file1/,"file2") {print $0}')
mkdir ${gdirectoryname}
ftp -v -n user guest 123456
binary
cd ${sdirectoryname}
lcd ${gdirectoryname}
prompt
mget *
close
bye
!
if find ${gdirectory} -type f
then
pathfilelist=$(find ${gdirectory} -type f)
for pathfilename in ${pathfilelist}
do
sfilename=$(echo $pathfilename |awk -F/ '{print $6}')
date_format=$(date +%Y%m%d)
gfilename=${sfilename}.${date_format}
cd ${gdirectory}
mv ${sfilename} ${gfilename}
done
echo "********************************************************"
echo "modify finlished"
fi
done
else
echo "********************************************************"
echo "no directory in the /test21/opencrm2/gxpso/file1"
fi
我一运行,都出现0403-057 Syntax error at line 12 : `
要求:
1、要求遍历自动生成文件夹,复制不能用cp命令,用ftp命令来实现,即自动从一个文件夹ftp到另一个,之后进行ftp
2、把文件改名,后边加日期。例: file1下边的 32.125 下的 ubb.atmi 复制到 file2 32.125下边的 ubb.atmi.20080808
我的实现如下:
#!/bin/sh
if find /test21/opencrm2/gxpso/file1 -type d
then
pathdirectorylist=$(find /test21/opencrm2/gxpso/file1 -type d)
for sdirectoryname in ${pathdirectorylist}
do
gdirectoryname=$(echo $sdirectoryname | awk 'gsub(/file1/,"file2") {print $0}')
mkdir ${gdirectoryname}
ftp -v -n user guest 123456
binary
cd ${sdirectoryname}
lcd ${gdirectoryname}
prompt
mget *
close
bye
!
if find ${gdirectory} -type f
then
pathfilelist=$(find ${gdirectory} -type f)
for pathfilename in ${pathfilelist}
do
sfilename=$(echo $pathfilename |awk -F/ '{print $6}')
date_format=$(date +%Y%m%d)
gfilename=${sfilename}.${date_format}
cd ${gdirectory}
mv ${sfilename} ${gfilename}
done
echo "********************************************************"
echo "modify finlished"
fi
done
else
echo "********************************************************"
echo "no directory in the /test21/opencrm2/gxpso/file1"
fi
我一运行,都出现0403-057 Syntax error at line 12 : `