shell实例——获取FTP/SFTP远程文件

By admin in bet体育在线网址手机版 on 2018年10月14日
2、处理公事夹

事先判断当地是否是当日日子文件夹,不设有则开创文件夹,并给权力755,然后改成到该目录下。

# [函数]处理日期文件夹
createForlder()
{
    cd $1
    if [[ ! -d ${SYSDATE} ]]; then
        mkdir ${SYSDATE}
        chmod 755 ${SYSDATE}
    fi
    cd ${SYSDATE}
}

设若以外的稿子里,丝毫看押不发生一点剩余的羞耻情绪,这单是跨入资本世界的同等摆卡片,是一个值得推介的削弱少走弯路和跑断腿,用来节省你的肥力的法门。

3、返回值

若是无是布局crontab定时任务尽脚本,而是经任何措施调用脚本执行,那么可能还索要为脚本设置返回值。

#-----------------------------------------------------------
#--返回值RETURNCODE
#   0         -成功
#   1         -参数传递异常
#   2         -处理文件夹异常
#   3         -获取文件异常
#-----------------------------------------------------------

# [函数]脚本执行返回值
retrunCode()
{
    if [ ${result} -eq "1" ]; then
        RETURNCODE=$1
        echo ${RETURNCODE}
    fi
}

然后以关键步骤位置调用返回值处理函数。

# 校验参数个数
if [[ $# != 5 ]]; then
    exit
fi
result=$?
retrunCode "1"

# 处理文件夹
createForlder ${localPath}
result=$?
retrunCode "2"

# 循环获取文件
for station in ${STATION_ARR[@]}; do
    remoteDir=${remotePath}${station}
    sftp_download ${sftpUser} ${serverIP} ${sftpPass} ${remoteDir}
done
result=$?
retrunCode "3"

权衡创造机会成本,经济学中不过根本之一个定义有。当你做出选择的时段,你切莫拣的凡你的机会成本。应用夸大的网络名牌之机会成本是业内人的嘲笑,而设就能被您顺利获某些完结,这个成本是多么微不足道;咪蒙的机会成本是原来报社同事的远离与非咪蒙粉丝的鄙弃,然而比较起来66万一如既往篇稿子的广告费来贯彻团结的影视梦,这些又算得了什么呢。

条件介绍

要是它们选经过猛烈的语言艺术出口看起可以且偏颇的传统,就是坐其的涉告诉她,这样做来市场。

代码实现

图片 1

3、非交互式远程登录

如想经过shell本子登录FTP,就待运用非交互式的道为脚论机关填写指令信息,FTP使用-n参数打开非交互式操作

# FTP非交互式操作
ftp_download()
{
    ftp -n $1 <<!
    user $2 $3
    prom
    bin
    cd $4
    mget *$sysdate*04.*
    mget *$sysdate*06.*
    bye
    !
}

苟以的凡SFTP商,那么是协议是不曾供非交互式参数可以使的,此时来三三两两种方案可以缓解,一栽不畏是让长途服务器端保存本机的MAC密钥,从而自动验证免密登录。当然对许多针对性安全性要求于高的情形吧是无容许这种艺术的。另外一栽不畏是运自动化交互工具expect,具体贯彻如下:

# SFTP非交互式操作
sftp_download()
{
    expect <<- EOF
    set timeout 5
    spawn sftp $1@$2
    expect {
        "(yes/no)?" {send "yes\r"; expect_continue}
        "password:" {send "$3\r"}
    }
    expect "sftp>"
    send "cd $4\r"
    set timeout -1
    expect "sftp>"
    send "mget *$sysdate*04.*\r"
    expect "sftp>"
    send "mget *$sysdate*06.*\r"
    expect "sftp>"
    send "bye\r"
    EOF
}

假使咪蒙……哎,我无说咪蒙了。

求描述

深证通会将基金公司之肯定数据文件(开户、认申购定投、赎回分红等等)发送给对连了之小站,最终体现就是是殊的小站各推到接收方一个单独的公文夹(文件夹以小站号命名)。我作接收方有一致高存储服务器用于收纳小站文件,此时另外一光应用服务器需要打存储服务器获取确认数据文件。数据文件按类别不同分别有03、04、06对等最后的,每天见面发出更新。要求是收获每天的04、06新文件,每天的文件分别居当天日子命名的文本夹下。

# 远端存储服务器目录结构
|——download
  |——k0001
  |  |——YYYYMMdd_xx_xxx_xxxxxxxx_03.TXT
  |  |——YYYYMMdd_xx_xxx_xxxxxxxx_04.TXT
  |  |——YYYYMMdd_xx_xxx_xxxxxxxx_06.TXT
  |  └──...
  |——k0253
  |  |——OFD_xx_xxx_YYYYMMdd_03.TXT
  |  |——OFD_xx_xxx_YYYYMMdd_04.TXT
  |  |——OFD_xx_xxx_YYYYMMdd_06.TXT
  |  └──....
  |──zdfile
  |  |——YYYYMMdd_xx_xxx_xxxxxxxx_03.TXT
  |  |——YYYYMMdd_xx_xxx_xxxxxxxx_04.TXT
  |  |——YYYYMMdd_xx_xxx_xxxxxxxx_06.TXT
  |  |——OFD_xx_xxx_YYYYMMdd_03.TXT
  |  |——OFD_xx_xxx_YYYYMMdd_04.TXT
  |  |——OFD_xx_xxx_YYYYMMdd_06.TXT
  |  └──....
  └──...

人生其实就算是一个一个的选项堆叠起来的,有些选择犯法,有些选择未犯法;但是它没有应该被分类为“高雅”或者“不神圣”,“丢人”或“感人”。

使用Unix/Linux不计其数操作系统就是相差不起shellshell本质是跟GUI同一当用户与操作系统之间的接口而存在,它实际是一个会说与剖析用户键盘输入,执行输入的指令,然后回结果的解释程序。由于占用资源少,而且富有批处理功能,实际付出同掩护中掌握必要的shell艺,势必会大大升级工作效率。

而真的好开班谋生,才发现为到我们怀念去之地方,曾经的“觉得丢脸”其实是多门笨拙、低情商的均等种植表现。

操作系统:AIX
$ oslevel
7.1.0.0

$ echo $SHELL
/usr/bin/ksh

$ expect -v
expect version 5.42.1

他俩说:“这顶丢人矣。”

4、遍历小站获取文件

循环遍历数组STATION_ARR[]得到小站文件夹名称,并拼接好远程路径remoteDir,然后调用函数ftp_downloadsftp_download赢得文件。

for station in ${STATION_ARR[@]}; do
    remoteDir=${remotePath}${station}
    ftp_download ${serverIP} ${sftpUser} ${sftpPass} ${remoteDir}
#   sftp_download ${sftpUser} ${serverIP} ${sftpPass} ${remoteDir}
done

从那之后,需求功能就全部兑现。完整脚论代码如下:

#!/usr/bin/ksh

############################################################
## 功能:从存储服务器获取确认文件
## By    xiaosong  2017-12-31
############################################################

#------------------------参数说明----------------------------
#--接收
#   localPath         -本地文件路径
#   remotePath        -远程文件路径
#   serverIP          -远程服务器IP
#   sftpUser          -sftp用户名
#   sftpPass          -sftp密码
#--变量
#   SYSDATE           -系统日期
#   STATION_ARR[]     -小站文件夹数组,新增小站增加此数组即可
#-----------------------------------------------------------

# 接收参数
localPath=$1
remotePath=$2
serverIP=$3
sftpUser=$4
sftpPass=$5

# 定义变量
SYSDATE=`date +%Y%m%d`
STATION_ARR[0]="k0001"
STATION_ARR[1]="k0253"
STATION_ARR[2]="zdfile"

# [函数]处理日期文件夹
createForlder()
{
    cd $1
    if [[ ! -d ${SYSDATE} ]]; then
        mkdir ${SYSDATE}
        chmod 755 ${SYSDATE}
    fi
    cd ${SYSDATE}
}

# [函数]SFTP非交互式操作
sftp_download()
{
    expect <<- EOF
    set timeout 5
    spawn sftp $1@$2
    expect {
        "(yes/no)?" {send "yes\r"; expect_continue}
        "password:" {send "$3\r"}
    }
    expect "sftp>"
    send "cd $4\r"
    set timeout -1
    expect "sftp>"
    send "mget *$sysdate*04.*\r"
    expect "sftp>"
    send "mget *$sysdate*06.*\r"
    expect "sftp>"
    send "bye\r"
    EOF
}


# 获取中登文件
createForlder ${localPath}

for station in ${STATION_ARR[@]}; do
    remoteDir=${remotePath}${station}
    sftp_download ${sftpUser} ${serverIP} ${sftpPass} ${remoteDir}
done

岂说吧。

1、参数校验

本子功能函数执行前,可以校验是否传递了总体的参数。若参数个数不对准,则直接退出脚本终止执行。

if [[ $# != 5 ]]; then
    exit
fi

他在题里详细剖析了外促成财务自由的步子,其中第一步:如何当4健全内化最佳专家,就曾经就此平等摆放信用卡在5分钟以内,为好买了点儿个“看起响亮”的商贸组织头衔——”解决争议协会”(www.acrnet.org)和”性别教育国际基金会”(www.ifge.org)。

全面剧本

摊手,吐血……

以下记录了一个shell剧本实例,是啊釜底抽薪实际生产问题使编辑。我使用的凡AIX下语法较严苛的kshell

乃仅仅记住,没有南方12年之报社文字工作的积聚,咪蒙无法做到对文及读者思想的精准把控。


而若而理解,你的精力总是有限,有些东西就是是比别的事物再重要,机会成本接近终点的时段,你为什么不丢掉有俗之烦乱去选择外呢。

2、日志

否脚本增加日志函数,记录下论运行状况,作为历史记录归档,也方便回查定位问题。

SYSTIME=`date '+%Y-%m-%d %H:%M:%S'`

# [函数]脚本运行日志
wLog(){
    echo "${SYSTIME}  $1" >> ${LOGPATH}/DownloadFile.log
}

自家思念说,在斯上位者即使无德为会具备话语权的年份里,笑贫的也是你们,笑娼的也罢是你们;我还惦记跟他们说:在其位谋其事、机会成本、幸存者偏差;

1、定义变量

首先定义变量给得参数,包括FTP/SFTP的用户信息和途径,小站文件夹名称,这里我用数组来存放小站文件夹名称,等下就是得遍历数组获取文件,后续维护为于便于。可以一直以本子里描写好参数,也可以就此传参的计。

# 接收参数
localPath=$1
remotePath=$2
serverIP=$3
sftpUser=$4
sftpPass=$5

# 定义变量
SYSDATE=`date +%Y%m%d`
STATION_ARR[0]="k0001"
STATION_ARR[1]="k0253"
STATION_ARR[2]="zdfile"

起上次描绘了赞咪蒙的同篇稿子发去然后,我在周围人眼里俨然成了一个“脑残的咪蒙粉”,连本人老板还特别跑去市了同一据咪蒙的修,还和自己说:我采购了公无比欢喜的咪蒙写的书写。

图片 2

如出一辙替代老网民应该还记腾讯是什么样立的,可是那时笑腾讯只见面依葫芦画瓢的口,可能早就湮没于中年发胖之腹部之下了;嘲笑马云以西湖边和外国人学口语的总人口,可能一辈子都不见面更发使用英语的机会。

今日的主题:情商、选择跟机会成本。

作业是这般的。

图片 3

图片 4

若以无甘于为一两三轮车而选择通过在高跟鞋优雅地在旅途走猫步,你运动之是匪丢人,但是坐三轮的已绝尘而去跑了好远,甩了同一套灰尘在你脸上,给你养一个低于的背影。

我们上文举例的及时张大网身份证的案例,其实以重重新生打响之人头之早期,都早就为此过类似看起“不耻”的法门。

但是自什么吗从不说。

咱们小时候觉得做了掉价的从,甚至别人做了获取了有些遂吗为之不屑;

其实就一体才涉及选择。

自身不亮堂你来没有出这种感觉:

图片 5

非理解打什么时,我开意识及自我要好的更动。虽然自己无转“不主动不拒”的处分方法,也真是以协调开心对所有名声立场还淡淡的,但为非反对他人用各种招数也和谐搏出一切片立足天地,甚至怀念只要呢手段利落、态度专业的上位者点赞。

自我管理领域的畅销书《The 4-Hour Work
Week》的作者费丽斯,“每周工作4小时”观念的领头人和成功实践者,普林斯顿大学讲师,自由职业、远程办公者。旅居世界各地、四海为下,并且经营者一家营养品牌跨国公司。

实则自己无比欣赏作家的是曹雪芹啊!(摇肩膀)是村上春树啊!是……!总的无是咪蒙啊……

我……最……喜欢的……咪蒙……

今而为了另外一项事被人diss我的传统,顺便牵扯出自我特别写稿子称咪蒙这档子事来贬低自己,证明自家的老三察已经严重扭曲了。

共事上午犯了一个口之网络名牌在群里,大家这就喜欢地初步嘲笑他起。我看了一下,大致的嘲点就是外于自我介绍里,写了一个看起老伟大上,而实际上很水的地位,而者地位只有业内人能看到是怎么一扭转事,但是老百姓一样看便以为异常厉害的则。

对一个自媒体人的话这无可厚非,你想做还开不交也。

然我什么吗从不说。

做出取舍的目的都是为了走下来,你挑选缓慢和隐身之走,也别笑话别人选择张扬与高调地奔跑。

兴许你道您的存的浑事物还充分重大,有些对君的正常好重点,有些对您的亲属与情侣特别重要,有些对而的未来挺要紧,有些对君的肃穆很重大。

见笑别人的人口,你仅仅是变成了他人成功路上抛弃了底底机会成本,应该于嘲笑的,究竟是哪个为。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 mobile.365-838.com 版权所有