分类:
2016-06-11 18:23:21
原文地址:shell脚本实例3:ftp自动下载的脚本 <转> 作者:mbh998
>>>>>>auto_zyg_ftp.sh
#!/bin/sh
path="/home/zyg"
day=`date +%F-%T`
yestoday=`date +%y%m%d -d '1 day ago'`
cat $path/zyg_ftp.sh |sed '5s/mget filename061112/mget filename'$yestoday'*/' |ftp -n
true=`ls /home/zyg/ |grep filename$yestoday|wc -l`
if [ $true -eq 0 ] ;then
echo -e "$day\tdo nothing!!!\t$true">>$path/autoftp.log
else
echo -e "$day\tfilename$yesterday\tSuccess !!!\t$true">>$path/autoftp.log
fi
>>>>>>zyg_ftp.sh
open 192.168.0.1 //ftp server的IP
user username passwd //用户名和密码
bin //以二进制传送
prompt
mget filename061112 //要取的文件名
bye
>>>>>>autoftp.log
2006-11-13-16:39:51 filename061111 Success !!! 47
2006-11-13-16:40:45 filename061112 Success !!! 96
2006-11-14-01:01:01 filename061113 Success !!! 3
2006-11-14-09:05:01 filename061113 Success !!! 96
====================================================================
以下是网上相关的脚本
1、 建立一个文本文件,例如文件名是ftp.txt,其内容如下:
open 192.168.1.100 /*用open连接远程服务器192.168.1.100*/
user MYNAME MYPASSWORD /*MYNAME是用户名,MYPASSWORD是密码*/
binary /*以二进制传送*/
hash /*当有数据传送时,显示#号*/
cd REMOTE_PATHNAME /*进入远程目标路径REMOTE_PATHNAME*/
get REMOTE_FILE LOCAL_FILE /*把远程文件REMOTE_FILE下载成本地文件LOCAL_FILE*/
put LOCAL_FILE REMOTE_FILE /*将本地文件LOCAL_FILE上传成远程文件REMOTE_FILE */
bye /*退出ftp应用*/
2、执行命令:
cat ftp.txt | ftp -n
--------#!/usr/bin/expect
spawn ftp ftp.internic.net
expect "Name"
send "anonymous\r"
expect "Password:"
send "nothing\r"
expect "ftp>"
send "cd domain\r"
expect " ftp>"
send "get named.root\r"
expect " ftp>"
send "quit\r"