用自动wget或ftp提高工作效率


作者:刀断水 | 来源:Examlink | 日期:09-20 | 字体: [ ]

本文简介: wget ftp://username:password@ip_address/dir/file_name

 wget ftp://username:password@ip_address/dir/file_name

比自动FTP的SHELL脚本的方法方便多了.

例如获取FTP服务器上文件名是昨天日期的文件,如filename_20040608_001,filename_20040608_002,......

#!/bin/sh
rq=`date --date '1 days ago' "+%Y%m%d"`
wget -q ftp://username:password@ip_address/filename_$rq*

有的时候,FTP站点用wget可以进行目录浏览,也可以下载固定文件名的文件,
却不能把文件名是昨天日期的文件取下来时.

我想了一个方法 (wget 1.8.2 版本):

#!/bin/sh
rq=`date --date '1 days ago' "+%Y%m%d"`
wget -nr ftp://username:password@ip_address/filename_$rq*
grep filename_$rq .listing > 1.txt
cat 1.txt|while read LINE
do
        file_name=`echo $LINE|awk '{print $9}'`
        wget -q ftp://username:password@ip_address/$file_name
done

                  (wget 1.10.2 版本):

#!/bin/sh
rq=`date --date '1 days ago' "+%Y%m%d"`
wget --no-remove-listing ftp://username:password@ip_address/filename_$rq*
grep filename_$rq .listing > 1.txt
cat 1.txt|while read LINE
do
        file_name=`echo $LINE|awk '{print $9}'`
        wget -q ftp://username:password@ip_address/$file_name
done

原理是在目录浏览.listing文件里查找到昨天生成的文件名到临时文件1.txt里

-rw-r--r--    1 fengyu   fengyu     106880 Jun  9 11:44 file_name_20040608001
-rw-r--r--    1 fengyu   fengyu     161760 Jun  9 11:44 file_name_20040608002
...... ...... ......

从头到尾一行行读这个1.txt文件,取它的第9段,也就是固定的文件名,再传递给wget工具.

如果FTP站点或者URL地址里面有特殊的符号,如@和&, 需要用ASC 码替换成%40和%26



用户名: 新注册) 密码: 匿名评论 [所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 2007年Oracle认证考试辅导 Oracle考试讲义 Oracle考试点评
如果你觉得一篇文章有用,你可以在每篇后面参与评论,或者查看其他人的评论,请保证你的评论对大家友好。
点这里评论
或者您可以来资源论坛参与讨论,一切都是免费的,不过可能需要麻烦您注册一下。
点这里讨论
把你的文章登陆在这里,让大家来分享你的文章。请立即登陆发表!
点这里投稿