一个ftp shell的例子
来源:互联网 发布:plc编程培训嘉定 编辑:程序博客网 时间:2024/05/05 22:28
#远程目录下每天会根据产生群ID来产生目录,因为每天的产生的群ID是不同的,所以目录名称和个数也是不定的
#但是每个目录下生成的文件是相同,不仅文件格式相同,文件名称也是相同的,但是文件内容是不同的
#我们现在要下载这些文件,使他们能被ETL调用,但是ETL不能识别可变目录,只能识别可变文件
#所以我们的处理方案是将文件下载下载到同一个目录下,但是因为文件名是相同的,而目录名是不同的
#所以我们将文件名改为目录名.例如:远程目录/951/filesize.txt,远程目录/952/filesize.txt,那么下载到本地后
#变成 本地目录/951 远程目录/952 ,注意此时本地目录下的951是远程目录/951/filesize.txt,本地目录下的952是远程目录/952/filesize.txt,
#远程主机登录用户名
username=mad
#远程主机登录用户密码
password=mad
#远程主机ftp下载目录
ftp_dir=/home/mad/mkt_home/webapps/data/ad/bi/task
#本地存放下载文件的目录
local_dir=/home/etl/business/mad/send
#需要下载的文件名
filename=filesize.txt
#记录所有需要下载的目录的文件
dir_record=dir_record.txt
#进入本地目录
cd $local_dir
#登录远程主机,进入到远程目录,列出远程目录下所有目录打印到本地目录中一个文件中
echo "---->start read dir"
(echo "user $username $password"
echo "cd $ftp_dir"
echo "prompt"
#列出远程远程目录下所有目录打印到本地目录中的${dir_record}这个文件中
echo "mdir $ftp_dir ${local_dir}/${dir_record}"
#表示同意。即"yes"
echo "y"
echo "by")|ftp -v -i -n 192.168.163.41
echo "---->start get file"
#读取记录目录的文件,取得对应的远程目录
# 'substr($0,1,1)=="d" 判断是否是文件类型是否是目录。{print $9}即打印目录名
#肯定是要循环读取了
for dir in `cat $dir_record|awk 'substr($0,1,1)=="d" {print $9}'`
do
cd $local_dir
#将要访问远程目录
sub_ftp_dir=${ftp_dir}/$dir
echo "sub_ftp_dir="$sub_ftp_dir
(echo "user $username $password"
echo "prompt"
echo "cd $sub_ftp_dir"
#从远程目录获取
echo "get $filename"
#表示同意。即"yes"
echo "y"
echo "by")|ftp -v -i -n 192.168.163.41
#改名,即将文件名改为它所在的目录名
mv $filename $dir
done
#进入本地目录
cd $local_dir
#删除记录远程目录的文件
rm $dir_record
- 一个ftp shell的例子
- 一个shell的例子
- 几个ftp shell的例子汇总
- 一个Ftp上传下载的简单例子
- libcurl使用ftp的一个例子
- 一个ftp下载的shell脚本
- ftp一个例子
- 一个带参数的Shell的例子
- 一个Linux Shell入门的例子
- 一个shell脚本例子
- 一个java 下载FTP( Linux)服务器文件夹的例子
- 一个java 下载FTP( Linux)服务器文件夹的例子
- 一个压宿,改名 ftp上传的shell
- 用shell 实现自动ftp的一个实例
- shell的FTP脚本
- shell编程例子 -- 一个makefile例子
- shell编程例子 -- 一个简单的目录菜单
- 一个通过shell脚本实现首页静态化的例子
- Asp.net FMS 开发视频网站
- VB调用SAP的RFC
- CInternetSession的简单使用
- The Google File System
- 配置PHP+mysql+apache(linux环境)
- 一个ftp shell的例子
- jdbc对oracle RAC方式的支持
- oracle官方教材下载地址
- 使用OTL来访问数据库
- QQ界面的简单模拟
- 在ubuntu下修改mp3乱码问题
- ACE封装——简化常见形式
- 编写自己的登录与访问控制模块
- How to monitor your website