免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: eboy240
打印 上一主题 下一主题

菜鸟求教怎样做到最完美的FTP自动上传脚本?自己做的已贴上 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-05-06 12:09 |只看该作者
支持一下

论坛徽章:
0
12 [报告]
发表于 2010-05-06 14:49 |只看该作者
我一般把密码保存到shell,然后用shc编译成可执行文件
通过参数读入上传/下载命令和文件列表

echo "open $ipadd">/tmp/ftptemp
echo "user $ln $enc128">>/tmp/ftptemp
echo "prompt off">>/tmp/ftptemp
echo "cd '${loc}'">>/tmp/ftptemp

for filelist in `cat $infile`
do
if [ ${fun} == "put" ] || [ ${fun} == "mput" ]
then
   if [ ! -f ${filelist} ]
   then
       echo "File Dose Not Exsits: ${filelist}"
       rm /tmp/ftptemp
       quit 1
   fi
fi
echo "$fun $filelist" >>/tmp/ftptemp
done

echo "close">>/tmp/ftptemp
echo "bye">>/tmp/ftptemp

cat /tmp/ftptemp|ftp -n
rm /tmp/ftptemp

论坛徽章:
0
13 [报告]
发表于 2010-05-06 15:30 |只看该作者
关于判断文件是否正常传输结束那块我是这么写的,大家一起研究。正巧最近也用到了
传输部分和判断部分:
===============================
echo "
open $ip
user $user $pwd
cd $rdir
bin
put $file
close
bye
" |ftp -v -n |tee ~/log/unload/put.log |sed 's/^/>/g' >> $logfile
grep "226 Transfer complete" ~/log/unload/put.log > /dev/null
=======================================
说白了就是抓日志出来判断,至于为什么是266你可以去找一下FTP的返回值,挺多的,就不一一说了。
个人程序仅供参考,其实我也是参考来的。。。

论坛徽章:
0
14 [报告]
发表于 2010-05-07 09:11 |只看该作者
感谢各位支持,不知道还有没有其他方法了?

论坛徽章:
0
15 [报告]
发表于 2010-05-07 10:30 |只看该作者
感觉最起码要先ping host 下吧

论坛徽章:
0
16 [报告]
发表于 2010-05-07 11:14 |只看该作者
感觉最起码要先ping host 下吧
merlin852 发表于 2010-05-07 10:30



    如果host不给ping怎么办?你要知道现在为了安全起见,大多数ping都是被挡在firewall的

论坛徽章:
0
17 [报告]
发表于 2010-05-07 11:18 |只看该作者
关于判断文件是否正常传输结束那块我是这么写的,大家一起研究。正巧最近也用到了
传输部分和判断部分:
...
wangw8451 发表于 2010-05-06 15:30



    嗯,谢谢仁兄提供,有空测试一下,因为更高的安全级别,所以要换上SSH KEY 来使用看看。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP