用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
分享到:
相关推荐
Linux shell脚本定时清理tomcat日志文件 本文将详细介绍 Linux 环境中使用 shell 脚本来定时清理 Tomcat 日志文件的方法。该方法使用 cron 机制来实现每天自动切割日志文件,并删除 4 天前的日志文件。 知识点一:...
本解本实现了使用shell脚本实现nginx日志分割,大家如果没资源分下载,可以转至:https://mp.csdn.net/mdeditor/85233117# 去查看源代码。谢谢大家
Shell脚本可以自动切割日志文件,以便更好地管理日志。 通过这些Shell脚本,我们可以更好地管理我们的计算机系统,提高工作效率,节省时间。熟练掌握Shell脚本可以让我们操作计算机变得更加轻松,也会节省很多时间...
在实际工作中,熟练运用Shell脚本能够帮助我们自动化日常的运维任务,如定时备份、日志分析、监控告警等,极大地提升工作效率。因此,对于任何IT从业者,尤其是系统管理员和DevOps工程师来说,掌握Shell脚本编写是...
本文将详细介绍如何使用 Shell 脚本来监控 Linux 服务器日志,并在出现关键字异常时触发相应的动作或告警操作,通知到邮件联系人。 安装邮件服务 为了实现邮件告警功能,需要先安装邮件服务。可以使用 mailx 软件...
在IT行业中,Shell脚本是一种强大的工具,尤其在Linux或Unix操作系统中,它允许用户自动化执行一系列命令,处理文件和目录,甚至进行复杂的任务管理。在这个特定的场景中,我们关注的是如何使用Shell脚本来生成`.txt...
####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date “+%Y-%m-%d %H:%M:%S”` ####显示打印日志的时间 USER=$(whoami) ####那个用户在操作 echo “${DATE} ${USER} execute $0 ...
内容概要: 1、shell脚本检查磁盘的使用率。根据挂载的目录路径去查找磁盘,并获取使用率参数。 目录路径可以列表的形式,配置多...调试模式下,不会删除清理文件,只会输出日志,用于核对脚本执行的目标对象是否正确。
本书《shell脚本编程100例》为读者提供了100个实战性的shell脚本编程实例,涵盖了检测网段主机状态、猜数字游戏、打印乘法口诀、使用rsync备份数据、切割Nginx日志、监控服务端口、使用mtime删除历史文件或日志文件...
在IT行业中,shell自动化构建脚本是开发流程中不可或缺的一部分,尤其对于开源软件项目和持续集成(CI)环境。shell脚本是Unix/Linux系统中的一种命令行解释器,用于执行一系列命令,实现任务的自动化。在本文中,...
在`shell自动升级脚本`中,我们通常会看到如`wget`、`curl`、`unzip`、`tar`等命令的使用,它们分别用于下载、提取文件,以及执行其他自动化任务。编写脚本时,我们需要考虑到错误处理、权限控制、日志记录等关键...
### Shell脚本实现从文件夹中递归复制文件 #### 背景介绍 在日常工作中,有时我们可能需要从多层嵌套的文件夹结构中提取特定的文件或者进行数据整理工作。对于这种需求,手动操作显然是低效且耗时的。此时,利用...
本文将详细介绍如何使用shell脚本来实现系统CPU资源的自动监测,并在CPU资源异常升高时自动打印应用线程日志文件。 首先,让我们了解CPU资源监测的基础。在Linux系统中,可以使用`top`或`vmstat`命令来实时查看系统...
通常,我们可以编写一个批处理文件,其中包含`adb logcat -v long > log.txt`这样的命令,这将把日志输出到一个文本文件中,方便查看和分析。 接着,`logcat_delete_all.bat`可能是一个清除`Logcat`中所有日志的...
1. Dos攻击防范:通过监控Nginx的日志文件,检测到异常频繁的IP访问后,脚本会自动使用iptables命令将这些IP添加到防火墙规则中,阻止其进一步的访问,并记录到日志文件中。这展示了Shell脚本在安全领域的应用,结合...
Shell脚本定时清理日志文件
`配置说明.txt`提供了如何配置和使用这些脚本的详细指南,包括如何修改脚本中的变量以适应不同环境,如何设置备份策略,以及如何解读日志文件等内容。这是非常重要的文档,因为它可以帮助用户理解并定制备份流程,...
在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...
### Shell脚本比较两台服务器目录及文件是否一致 在IT运维工作中,经常需要对比不同服务器上的文件或目录是否一致,特别是在对生产环境和测试环境进行对比时尤为重要。本文将详细解析一个用于比较两台服务器目录及...
`Shell`脚本擅长于处理系统级别的任务,如文件操作、进程管理等,而`Python`则提供了更为强大的数据处理和逻辑控制功能。本篇文章将详细介绍如何在`Shell`脚本中调用`Python`脚本并传递参数,以及如何应用这一技术来...