首页 > 系统相关 >Shell实现FTP下载文件,并保存执行日志

Shell实现FTP下载文件,并保存执行日志

时间:2022-11-01 12:34:30浏览次数:44  
标签:FTP Shell LOG echo SYS FILE 日志 LOCAL DIR


分享知识  传递快乐

 

这篇文章是 ​​Linux实现FTP上传下载​​ 的续篇文章,关于FTP具体语法使用,请参考《​​Linux实现FTP上传下载​​》。

FTP下载文件并保存执行日志

#!/bin/bash
#auth hy

################################################
#
# 定义函数
#
################################################

#获取当前时间
function getSystemTimeFun(){
echo $(date "+%Y-%m-%d %H:%M:%S")
}

#创建目录
function createDir(){
if [ ! -d $1 ]; then
mkdir -p $1
fi
}
#创建文件
function createFile(){
if [ ! -e $1 ]; then
touch $1
echo $(getSystemTimeFun) " Create file successfully!" >> $LOCAL_LOG_FILE
fi
}

################################################
#
# 定义全局变量
#
################################################

LOCAL_SYS_DATE=$(date +%Y%m%d)
LOCAL_ROOT_DIR="/home/weblogic/syn/antgroup"
LOCAL_FILE_DIR="${LOCAL_ROOT_DIR}/data/${LOCAL_SYS_DATE}-apply/"
echo "LOCAL_FILE_DIR: "$LOCAL_FILE_DIR

LOCAL_LOG_DIR="${LOCAL_ROOT_DIR}/logs/"
LOCAL_LOG_FILE="${LOCAL_LOG_DIR}${LOCAL_SYS_DATE}_apply2.log"
echo "LOCAL_LOG_FILE: "$LOCAL_LOG_FILE


#判断目录是否存在,没有则创建
$(createDir $LOCAL_FILE_DIR)
$(createDir $LOCAL_LOG_DIR)
$(createDir "${LOCAL_ROOT_DIR}/data/${LOCAL_SYS_DATE}-confirm/")


#判断文件是否存在,没有则创建
$(createFile $LOCAL_LOG_FILE)


#远程目录文件,要远程获取的文件名,这里用日期通配
ALI_DIR="/download/continuous/${LOCAL_SYS_DATE}"
ALI_ZIP_FILE="${LOCAL_SYS_DATE}*_continuous_apply.zip"

echo $(getSystemTimeFun) " Remote service file:${ALI_DIR}/${ALI_ZIP_FILE}" >> $LOCAL_LOG_FILE
echo $(getSystemTimeFun) " Local files: ${LOCAL_FILE_DIR}" >> $LOCAL_LOG_FILE
echo $(getSystemTimeFun) " Begin...." >> $LOCAL_LOG_FILE


################################################
#
# lftp远程下载
#
################################################

script -q -a $LOCAL_LOG_FILE -c "lftp -u xxxxx,xxxxx sftp://xxx.xxx.xxx.xx:xx<<EOF
cd ${ALI_DIR}
lcd ${LOCAL_FILE_DIR}
mget ${ALI_ZIP_FILE}
by
EOF"


echo "" >> $LOCAL_LOG_FILE

 

说明:

  • ​​函数定义和使用​​,以function开头的方法称之为Linux脚本函数
  • ​​script命令​​ - 记录终端交互输出到屏幕上的日志

 

 

 

 

 

 

 

———————————
如有不足请留言指正
相互学习,共同进步

标签:FTP,Shell,LOG,echo,SYS,FILE,日志,LOCAL,DIR
From: https://blog.51cto.com/u_15856116/5813283

相关文章

  • Zabbix技术分享——使用Zabbix6.0监控业务日志
    企业日常IT运维过程中,常会碰到需要监控业务日志的情况,以下将介绍如何使用Zabbix6.0监控业务日志。 应用场景描述:企业IT运维部门使用自建zabbix平台对公司某业......
  • shell函数
    shell函数一,函数的定义(两种方式)1.function函数名{command}//这是一种规范写法2.函数名(){//最常用因为最简洁command}函数定义完之后并不会自动......
  • shell循环,函数
    ###########################函数function语法:函数名(){returnm}函数名=========如:#!/bin/basholdboy(){echo'iamoldboy'}oldboy ####################......
  • crontab定时清理文件,java日志,es记录等
    简单运维开发环境硬件配置小,经常要清理空间.写个简单的清理脚本去运维.清理java日志.#cleanLog.sh#日志目录LOG_DIR=/path/to/logcd$LOG_DIR#历史日志......
  • mysql8 清理general_log.csv日志文件
    今天mysql看磁盘空间不足,排查出来general_log.csv占了800G  1.功能如下:开启general_log,会将所有到达MysqlServer的SQL语句记录。一般不会开启开功能,因为log的量会......
  • shell循环语句
    循环语句的作用在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他命令相同。例如,根据通讯录中的姓名列表创建系统账号,根据服务......
  • 无celery日志
    解释1:日志、日志你把你想打印的内容写道logger中吗? 还有就是日志在哪是看:下面的xxx是谁,你写的app自然将来在应用日志中找啊importlogging......
  • 运行shell脚本提示“语法错误: 未预期的文件结尾”
    当时正在写一个小需求,shell脚本实现的功能是:通过read读入变量实现加减剩除等,而且要判断一个输入的2个变量是否为空,为空值则退出。输入的变量不是数字则退出。自己编写的代......
  • shell编程 不全
    shell编程>>>![image-20220331084804558](C:\Users\Windows\AppData\Roaming\Typora\typora-user-images\image-20220331084804558.png)>>>>![image-202203310850......
  • 开启 Ubuntu 下的 FTP 服务
    终端输入:sudoapt-getinstallvsftpdsudogedit/etc/vsftpd.conf打开以后vsftpd.conf文件以后找到如下两行:(把#删除即可)local_enable=YESwrite_enable=YES修改完......