分享

shell ftp 判断目标主机中目录是否存在(shell脚本实现)

 iceer1212 2020-09-18

一、思路:

(要明白请务必看仔细思路!!!)

本地主机:192.168.0.10

目标主机:IP:192.168.0.100

目标主机的上存在的目录为:/YK/

            不存在的目录为:/123/

 

1、连接到ftp

2、cd 需要判断的目录(如何目录存在会‘250 Directory successfully changed.‘,如果目录不存在’550 Failed to change directory.‘)

3、ftp将cd的命令输出追加到本地文档,通过读取本地文件数据判断文件夹是否存在。

二、Shell脚本实现

upload_ip=192.168.0.10 #目标主机的ip地址

ftpuser=admin #ftp用户

ftppswd=admin #ftp用户密码

ftp_folder_path=/123/  #需要判断的文件夹的绝对路径

local_record=record.log #(记录ftp命令返回的日志(正确日志:250 Directory successfully changed.错误日志:550 Failed to change directory.)用于判断文件夹是否存在)

#定义一个连接到ftp的函数

echo $upload_ip

echo $ftpuser

echo $ftppswd

echo $ftp_folder_path

echo $local_record

ftpCheckFile()

{

ftp -n -i $upload_ip <<EOF

ftp $upload_ip

user $ftpuser $ftppswd

cd ${ftp_folder_path}

bye

EOF

}

#清空上一次记录的目标主机日志的信息

cat /dev/null > ${local_record}

#调用函数获取目标主机中的路径的日志并记录到record.log中

ftpCheckFile > ${local_record}

#调用方法判断获取目录信息,判断文件夹是否存在

grep -c 'Failed to change directory.' ${local_record}

if [ `grep -c 'Failed to change directory.' ${local_record}` -eq 1 ];then

 echo 文件夹不存在!!!接下来就可以做文件夹不存在的事情了!!!!!

 else

 echo 文件夹存在!!!接下来就可以做文件夹存在的事情了!!!!!

fi

三、进行测试!!!!!

1、测试存在的目录 /YK/(该(YK)文件夹存在)

2、将测试的文件夹改为/123/(该(123)文件夹不存在)

最后祝大家都能够顺利完成校验!!!!!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多