如何在从UNIX到Windows的FTP上检查远程服务器上是否存在目录

时间:2012-11-07 09:59:14

标签: windows unix ftp

我正在尝试将文件从UNIX服务器FTP到Windows Server;在当前的Senario中,

如果我的目标目录不存在,则FTP将该文件保存到默认目录。

我对此情况的修复是检查目录是否存在,然后才对FTP文件进行FTP处理。只有我不知道如何实现相同。 PFA和建议。

srcpath=/home/fcadmin/Repository_ftp_test/venx

CS=/FCreportsrepository/Host
SCR_PATH=/home/fcadmin/Repository_ftp_test/venx
dpcpath=/fchostrjs/fcprdapp/dpcreports
logpath=/fchostrjs/fcprdapp/dpclog


for j in `cat venx.txt`
do

ftp -i -n <<EOF>ftp_me.log
open 10.226.14.102
user ftpuser abc!123
binary on
prompt
cd $CS
lcd $srcpath 
if[<Directory Exists>];
then echo "Directory exists";
mput $j;
else
echo "Specified Directory doesnt Exist">>ftp_me.log;
exit;
fi
EOF

EXITFTP=$?
if test $EXITFTP -ne 0; 
then echo "$D ERROR FTP" >> $LOG;
exit ;
fi

if (grep "^Not connected." ftp_me.log); then echo "$D ERROR FTP CONNECT" >> $LOG; fi 
if (grep "No such file" ftp_me.log); then echo "$D ERROR FTP NO SUCH FILE" >> $LOG; fi 
if (grep "access denied" ftp_me.log); then echo "$D ERROR FTP ACCESS DENIED" >> $LOG; fi
if (grep "^Please login" ftp_me.log); then echo "$D ERROR FTP LOGIN" >> $LOG; fi

done

1 个答案:

答案 0 :(得分:0)

在这种情况下,您将不得不使用2个ftp脚本,因为ftp不是可以允许此类检查的脚本语言。

登录后在ftp中用dir命令编写一个脚本。

dir目录/文件

一旦输出验证了上述脚本的输出,并根据它确定第二个ftp脚本的目标目录。