用shell写的下载文件,某些地方还不是很完善
首先是下载的配置文件,主要是配置ip地址以及下载地址,
配置ip地址的下载路径为固定的,下载到本地会保存到该ip地址的目录下。
而普通的下载路径下载的文件会保存在当前目录下。
218.1.1.1
http://www.canofy.com/test/localhost_access_log.2009-03-30.zip
http://www.canofy.com/test/localhost_access_log.2009-03-31.zip
http://www.canofy.com/test/localhost_access_log.2009-04-01.zip
http://www.canofy.com/test/localhost_access_log.2009-04-02.zip
下面的是一些公用的函数
#************************************#
#
# 公用的函数
#
#************************************#
#下载文件的路径
savepath(){
ip=$1
#time=$2
if [ ! -e "$ip" ] ;then
mkdir $ip
fi
path=`pwd`"/$ip"
echo $path
}
#下载的文件名
filename(){
time=$1
echo "localhost_access_log."$time".zip"
}
下面是下载的主程序download.sh,可以传入一个时间参数进去,表示下载那一天的日志文件,
如:sh download.sh 2009-04-03
#************************************#
# 函数
#************************************#
downurl(){
ip=$1
time=$2
name=`filename $time`
echo "http://"$ip"/test/"$name
}
#**********************************#
# 下载的主程序
#**********************************#
. utilfunc.sh
path="/usr/local/qs/sh/download/"
list=`cat down.config`
time=`date +"%Y-%m-%d"`
#取第一个参数,判断是否是时间,格式如:2009-04-03
if [ `echo $1|grep -E '^20[01][0-9]-(0[1-9]|1[0-2])-[0-3][0-9]'` ] ; then
time=$1
fi
#echo $time
file="down.config"
#echo $list
if [ -n "$file" ]&&[ -e "$file" ]; then
for i in `grep -E -v '^#' $file`;do
if [ -n $i ] ;then
if [ `echo $i|grep -E '^http'` ] ; then
downurls=$i
echo success
echo $i
else
#调用获取下载地址的函数
downurls=`downurl $i $time`
savepath=`savepath $i`
echo $downurls
#echo $savepath
cd $savepath
#echo `pwd`
fi
#判断文件是否已下载
if [ -n "$downurls" ]&&[ ! -e "$downurls" ] ;then
#echo $savepath
#下载文件
wget -c -t2 -T2 -a $path"wget.log" $downurls
#判断是否下载成功,下载不成功则记录到错误日志里面
[ $? -gt 0 ]&&echo $downurls>>$path"error.log"
fi
fi
done
fi
#for i in $list ; do
# echo $i
#done
以下是解压缩的代码,只解压缩当天下载的文件,这里可以考虑另外写一个:
. utilfunc.sh
path="/usr/local/qs/sh/download/"
time=`date +"%Y-%m-%d"`
file="down.config"
if [ -n "$file" ]&&[ -e "$file" ]; then
for i in `grep -E -v '^#' $file`;do
savepath=`savepath $i`
cd $savepath
name=`filename $time`
echo $savepath
echo $name
if [ -n "$name" ]&&[ -e "$name" ] ; then
unzip $name
[ $? -gt 0 ]&&echo $name>>$path"unziperror.log"
fi
done
fi
分享到:
相关推荐
本解本实现了使用shell脚本实现nginx日志分割,大家如果没资源分下载,可以转至:https://mp.csdn.net/mdeditor/85233117# 去查看源代码。谢谢大家
####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date “+%Y-%m-%d %H:%M:%S”` ####显示打印日志的时间 USER=$(whoami) ####那个用户在操作 echo “${DATE} ${USER} execute $0 ...
Shell脚本定时清理日志文件
linux 环境中 脚本 定时清理tomcat日志文件
该程序使用场景说明:主要用域Linux服务器监控程序日志,如出现关键字异常则触发相应的动作或告警操作,通知到邮件联系人
常用shell脚本, Dos攻击防范(自动屏蔽攻击IP).sh 一键部署等等 Linux系统发送告警脚本.sh MySQL数据库备份单循环.sh MySQL数据库备份多循环.sh nginx 访问访问日志按天切割.sh nginx.conf nginx访问日志分析...
#功能:清理日志文件脚本 #参数:路径 文件类型 时间差(N天前的文件) #依赖文件:无 #作者:baocr #时间:2019-02-20 功能: 1.获取时间字符串 2.查找要删除的文件 3.统计记录要删除的文件数量和清单 4.删除文件 ...
Shell脚本,springboot服务器日志清空脚本,清空服务器上logs下所有*.log结尾的日志文件。
shell脚本修改json中某个字段的值 - 思路:通过awk来找到旧数据,然后用sed来替换旧数据
《Shell脚本专家指南》旨在为Linux、Unix以及OSx系统管理员提供短小精悍且功能强大的shell实现解决方案,教会读者如何使用现有调试器调试shell脚本。全书分为3个部分:脚本技术基础、系统交互和高级技术、有用的脚本...
2、删除历史文件脚本 del_history_files [root@www tools]# more tools/bin/del_history_files #!/bin/sh # 删除指定目录下,文件时间早于指定时间节点的文件,时间粒度:小时 # 配置文件格式 : 需清理的目录=...
shell脚本上传日志文件、.txt
以上这篇shell将脚本输出结果记录到日志文件的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:linux中 shell 历史命令记录功能用来记录登录后使用...
Shell脚本监控日志中预警信息,配合定时任务,检查到告警信息发送邮件
通过shell采集tuxedo日志,并记录到文件,以便进行分析、管理。
随着业务增长,日志量不断加大,清理日志成为定期的日常任务,本节所提供的shell脚本配合crontab可实现对日志的定时清理及压缩存储,内置参数配置及运行参数,能满足常用的日志清理场景需求。(日志文件的格式请参考...
包含了删除n天以前的文件脚本、删除n天以前的文件夹脚本、使用说明(使用该脚本,百度新增计划任务,可每日定时清理)
主要介绍了Shell脚本定期清空大于1G的日志文件,本文直接给出实现代码,需要的朋友可以参考下
shell脚本基本技能是设置变量,输出信息。如下: sh脚本输出到控制台 将以上脚本保存到test.sh脚本文件中,并赋予可执行权限:sudo chmod +x test.sh 执行脚本:bash test.sh 控制台输出: 输出到控制台,并且写入...
对于这种情形,可以使用一个shell脚本来定时自动清除这些归档日志。本文给出了清除归档日志的脚本。 1、清除归档日志shell脚本 robin@SZDB:~/dba_scripts/custom/bin> more remove_arch_dump.sh #!/bin/bash ...