ftp自动下载

#!/bin/bash 
#author: QingFeng
#qq: 530035210
#blog: http://my.oschina.net/pwd/blog 
#自动添加秘钥认证用户
#缺省的配置如下
 
logdir=/data/log/shell          #日志路径
log=$logdir/shell.log            #日志文件 
is_font=1                #终端是否打印日志: 1打印 0不打印 
is_log=1                 #是否记录日志: 1记录 0不记录
basedir="/data/ehuzhu"
yes=$(date -d yesterday +%Y-%m-%d)
yesmonth=$(date -d yesterday +%Y-%m)
host=x.x.x.x
user=admin
pass=xxxxxxx
 
datef(){
date "+%Y-%m-%d %H:%M:%S"
}
 
print_log(){
if [[ $is_log -eq 1  ]];then
[[ -d $logdir ]] || mkdir -p $logdir
echo "[ $(datef) ] $1" >> $log
fi
if [[ $is_font -eq 1  ]];then
echo -e "[ $(datef) ] $1"
fi
}

download(){
if [[ $host == ""   ]];then
print_log "ftp的服务器IP不能为空."
exit
fi 

if [[ $user == ""   ]];then
print_log "ftp的用户名不能为空."
exit
fi

if [[ $pass == ""   ]];then
print_log "ftp的密码不能为空."
exit
fi

if [[ ! -d $basedir/$yesmonth/$yes  ]];then
mkdir -p $basedir/$yesmonth/$yes
fi

print_log "开始下载...$host:$yes目录到=>$basedir/$yesmonth/$yes."

ftp -v -n <<!
open  $host
user $user  $pass
binary
cd  $yes
lcd $basedir/$yesmonth/$yes
prompt
mget *
close
bye
!
print_log "下载完成...$host:$yes目录到=>$basedir/$yesmonth/$yes."
}

download

#for i in {1..160}
#do
#yes=$(date -d "$i days ago" +%Y-%m-%d)
#yesmonth=$(date -d "$i days ago" +%Y-%m)
#print_log "$yes ==> $yesmonth"
#download
#done
时间: 2024-10-10 14:58:51

ftp自动下载的相关文章

windows bat脚本实现ftp自动下载 删除

现在有一个需求就是把远程某个文件下面的图片,下载到本地,并且删除下载成功的的文件,而且远程目录下的那个图片会随时增加.假设一下如果所有的脚本都写好了,那么就需要调用windows上的计划任务定时执行脚本就ok了,Linux上利用cronjob 同样可以做到.大体的实现思路如下,当然了不止这一种方式. 在远程服务器上搭建ftp server ,例如这里在远程服务上的 images 作为下载目录.搭建ftp server 最简单的方式就是用FileZilla Server 这个工具去搭建,很方便,零

C# 利用FTP自动下载xml文件后利用 FileSystemWatcher 监控目录下文件变化并自动更新数据库

using FtpLib; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.IO; using System.Linq; using System.ServiceProcess; using System.Text; using System.Threading; using

windows FTP自动下载脚本

新建ftp.dat文件,内容如下 open xxx.xxx.xxx.xxxusernamepasswordcd    lcd x:\filesbinaryhashmget *.*bye 新建run.bat文件 ftp -s:ftp.dat执行run.bat即可 http://linuxinfo.blog.51cto.com/412748/98690

windows cmd ftp 自动下载

1.编写ftp的bat脚本: set year=%date:~0,4% set day=%date:~0,4%%date:~5,2%%date:~8,2% mkdir d:\ftp\%date:~0,4% mkdir d:\ftp\%date:~0,4%\%date:~0,4%%date:~5,2%%date:~8,2% del d:\ftp\ftpcmd.txt @echo open 172.18.73.122>>ftpcmd.txt @echo product1>>ftpcmd

C#实现开发windows服务实现自动从FTP服务器下载文件(自行设置分/时执行)

最近在做一个每天定点从FTP自动下载节目.xml并更新到数据库的功能.首先想到用 FileSystemWatcher来监控下载到某个目录中的文件是否发生改变,如果改变就执行相应的操作,然后用timer来设置隔多长时间来下载.后来又想想了.用windwos服务来实现吧. 效果图: 执行的Log日志: INFO-2016/5/24 0:30:07--日志内容为:0/30/7进行time触发 INFO-2016/5/24 1:30:07--日志内容为:1/30/7进行time触发 INFO-2016/

用shell和python实现FTP自动登陆然后上传和下载

1.ftp自动登陆下载文件 -n 不受.netrc文件的影响.(ftp默认为读取.netrc文件中的设定) !是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾 binary -   设置文件传输类型为binary(二进制传输)  prompt -  开关交互提示(默认为ON) close -   结束FTP会话并返回命令行 quit -  结束FTP会话并退出FTP(功能通bye) mget -  复制一个或多个远程文件至本地 get -   复制单个远程文件到本地 put -  复制

Linux FTP自动登陆下载备份,上传文件脚本

使用远程的服务器,对另外一台远程的服务器进行FTP操作,速度要比本地机器操作快很多. 之前写过一篇关于FTP如何手工的在Linux进行远程操作, 今天找到一个自动批量的脚本,感觉很好.满足了我的需要. 我的A网站在香港 我的B服务器Linux的在国内.这样就可以把A网站自动备份到B服务器了. 希望本篇博客能给需要的同学一些帮助. #####从ftp服务器上的/home/data 到 本地的/home/databackup#### #!/bin/bash ftp -n<<! open 192.1

ftp自动登录上传下载文件

(1)ftp自动批量下载文件 #####从ftp服务器上的/data/localacc 到 本地的/data/localacc#### #!/bin/bash ftp -n<<! //-n是不使用ftp的自动登录 open 10.0.129.170 //open host[port]:建立指定ftp服务器连接,可指定连接端口 user sfhc sfhc1234 //user username password:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymou

C# 实现访问FTP服务器下载文件,获取文件夹信息小记

最近因为要开发广告制作工具,自动生成广告流,需要获取第三方服务器上的文件资源,经过摸索,从这次经历中记录下. FtpWebRequest reqFtp; WebResponse response = null; //获取文件夹信息 reqFtp = (FtpWebRequest)WebRequest.Create(this.ftp);//ftp://IP:port/文件夹名1/文件夹名2/.../文件夹名 reqFtp.UseBinary = true; reqFtp.KeepAlive = f