商务合作加Q:411239339

shell脚本自动下载远程主机WEB目录中的文件

浏览:552次阅读
没有评论

共计 1280 个字符,预计需要花费 4 分钟才能阅读完成。

一般当我们架设一个网站时,会需要一个空间,空间商会告诉你一个 FTP 账号和密码用于网站的文件上传与下载。

本例中将使用 shell 脚本无交互下载远程主机 FTP 目录中的文件,使用的是 wget 命令,我们可以通过命令:man wget 看到如下信息:

       --user=user
       --password=password
           Specify the username user and password password for both FTP and HTTP file
           retrieval.  These parameters can be overridden using the --ftp-user and
           --ftp-password options for FTP connections and the --http-user and
           --http-password options for HTTP connections.

意思是说支持指定 FTP 或 HTTP 服务器用户名密码进行无交互下载。

这里使用了 wget 命令中的 - m 选项,关于选项的说明如下:

       -m
       --mirror
           Turn on options suitable for mirroring.  This option turns on recursion and
           time-stamping, sets infinite recursion depth and keeps FTP directory listings.
           It is currently equivalent to -r -N -l inf --no-remove-listing.

意思是说首先会下载一份远程主机中 FTP 目录下的目录列表,然后根据这个目录列表目录进行下载,类似于递归目录下载。

下面是自动化 shell 脚本。

#!/bin/bash
#FTP 用户名
USER="myuser"
#FTP 密码
PASS="mypass"
#远程主机 IP 或域名
HOST="www.example"
DATE=`date "+%Y%m%d"`
#下载日志存放路径
LOGPATH="/home/wget.log"
#下载后文件存放位置
DOWNLOAD_PATH="/home/"
#远程 FTP 目录相对路径
REMOTE_DIR="sqlbackup/$DATE"
[ ! -d $DOWNLOAD_PATH/$DATE ] && mkdir -p $DOWNLOAD_PATH/$DATE
cd $DOWNLOAD_PATH/$DATE
echo "`date "+%F %T"` starting..." >> $LOGPATH
wget --ftp-user=$USER --ftp-password=$PASS -m  ftp://$HOST/$REMOTE_DIR/*
echo "`date "+%F %T"` completed" >> $LOGPATH

脚本完成后,我们可以把它加入到定时任务中去,这里不再介绍定时任务的添加方法了。

正文完
扫码赞助
post-qrcode
 0
果子
版权声明:本站原创文章,由 果子 于2014-07-01发表,共计1280字。
转载说明:除特殊说明外本站文章皆由果较瘦原创发布,转载请注明出处。
评论(没有评论)