`
isiqi
  • 浏览: 16752480 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

AIX 定时清除日志的SHELL

阅读更多

1、AIX 机器上定期清除日志文件,以释放日志文件所占用的大量磁盘空间。

shell似乎没有处理日期计算的函数,在JAVA中处理日期很方便,而SHELL处理日期太费劲,等于自己要写一个原始的日期加减函数。这里考虑特定的应用,在已有网友代码的基础上进行了一下改进,可以计算从当前日期起N天前的日期。KSH实现。

AIX 5.3 执行通过

#!/bin/ksh
LOG_PATH=/home/utan/logs
LOG_DEL_LOGFILE=./logdel.log
KEEP_DAYS=9

# Set the current month day and year.
month=`date +%m`
day=`date +%d`
year=`date +%Y`

#get the yesterday
getLastDay()
{
# Set the current month day and year.
# month=`date +%m`
# day=`date +%d`
# year=`date +%Y`
year=$1
month=$2
day=$3

# Add 0 to month. This is a
# trick to make month an unpadded integer.
month=`expr $month + 0`

# Subtract one from the current day.
day=`expr $day - 1`

# If the day is 0 then determine the last
# day of the previous month.
if [ $day -eq 0 ]; then

# Find the preivous month.
month=`expr $month - 1`

# If the month is 0 then it is Dec 31 of
# the previous year.
if [ $month -eq 0 ]; then
month=12
day=31
year=`expr $year - 1`

# If the month is not zero we need to find
# the last day of the month.
else
case $month in
1|3|5|7|8|10|12) day=31;;
4|6|9|11) day=30;;
2)
if [ `expr $year % 4` -eq 0 ]; then
if [ `expr $year % 400` -eq 0 ]; then
day=29
fi
else
day=28
fi
;;
esac
fi
fi

case $day
in 1|2|3|4|5|6|7|8|9) day='0'$day
esac
case $month
in 1|2|3|4|5|6|7|8|9) month='0'$month
esac
# echo $year$month$day
}

# cacl the date dividing value
caclDividingValue()
{
echo keeydays:$KEEP_DAYS
i=1
while [ $i -le $1 ]
do
#echo $i
getLastDay $year $month $day
i=$(($i+1))
done
}

#delete the old logs before the keep days
caclDividingValue $KEEP_DAYS
sdate="$year$month$day"
echo The log files will be deleted before $sdate.
for file in `ls $LOG_PATH`
do
# echo here$file
if [ "$file" -lt "$sdate" ]; then
echo $LOG_PATH/$file
snow=`date`
echo [$snow] delete $LOG_PATH/$file >> $LOG_DEL_LOGFILE
rm -fr $LOG_PATH/$file
fi
done

2、加上定时处理功能,输入crontab -e, 增加行:

<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]-->30 3 * * * /home/scripts/logmonitor.sh > /home/scripts/lcron.log 2>&1

每天3:30执行 该脚本

分享到:
评论

相关推荐

    AIX操作系统错误日志及日常维护

    AIX 操作系统错误日志及日常维护 AIX 操作系统错误日志是系统管理员维护和排除系统故障的重要工具。系统错误日志记录了系统的各种故障信息,包括硬件、软件和其他操作信息。 一、系统故障记录 (errorlog) error...

    AIX 系统errpt日志分析方法

    ### AIX系统errpt日志分析方法 #### 一、概述 在AIX系统中,errpt 是一个非常重要的工具,用于查看系统错误日志。这些日志包含了系统运行过程中出现的各种异常信息,对于系统管理员来说是排查问题的重要依据。本篇...

    aix系统下oracle数据库归档日志清除步骤

    以下是在AIX系统下清除Oracle归档日志的详细步骤: 1. **以root用户登录**:由于对系统文件的操作可能影响到整个服务器,因此通常需要拥有最高权限的root用户来执行。 2. **检查文件系统状态**:使用`df`命令可以...

    aixshell 编程

    AIX shell 编程 AIX shell 编程是一种强大的编程语言,能够帮助用户提高 Linux 和 UNIX 系统中的生产力。通过学习 AIX shell 编程,用户可以更好地掌握 bash shell,提高自己的工作效率。 AIX shell 编程的优势 *...

    AIX日志管理日志管理

    在IBM AIX操作系统中,日志管理是系统管理员日常维护工作的重要组成部分,它涉及收集、存储、监控和分析系统的各种事件记录。这些日志数据对于故障排查、性能优化以及安全审计至关重要。本篇文章将深入探讨AIX日志...

    AIX-SHELL基本编程

    AIX-SHELL基本编程 AIX-SHELL 基本编程是指在 AIX 环境下使用 shell 语言进行编程的基本知识。 Shell 编程是 UNIX/Linux 操作系统中的一种编程方式,它使用 shell 语言来编写脚本,以实现自动化任务和流程。 环境...

    au23 aix 5l korn shell

    根据给定文件的信息,我们可以提炼出与"AU23 AIX 5L Korn Shell"相关的几个关键知识点,包括AIX 5L操作系统、Korn Shell与Bash Shell编程等。 ### AIX 5L 操作系统 AIX 5L是IBM开发的一款基于Unix的操作系统,特别...

    aix 日志的收集

    在AIX操作系统中,日志收集是一项至关重要的任务,它帮助管理员监控系统状态,诊断问题,并确保系统的稳定运行。本文将详细阐述如何在AIX环境下进行日志收集,特别是涉及"Collection data hmac"的相关操作。 首先,...

    aix常用操作命令(vi,shell).doc

    这里我们主要讨论的是AIX中的vi编辑器和shell命令的使用。 1. **vi编辑器**: vi(Visual Editor)是AIX中的一个全屏幕文本编辑器,用于创建和修改文本文件。启动vi编辑器,可以输入`vi filename`。vi有命令模式和...

    IBM_AIX_SHELL_说明书.zip

    10. **故障排查**:提供处理Shell相关问题的策略,如日志分析、错误调试等。 了解并熟练掌握这些知识点对于任何AIX系统管理员或开发者来说都是至关重要的,可以提高他们对系统的控制力和工作效率。通过深入阅读"IBM...

    aix平台计算日期的前N天和后N天shell脚本

    该函数实现当前日期的钱N天和当前日期的后N天计算; yyyyMMdd -N ##yyyyMMdd日期前N天 yyyyMMdd N ##yyyyMMdd日期后N天

    AIX-SHELL基本编程.doc

    AIX-SHELL基本编程文档聚焦于使用Bash进行脚本编程,这对于提升Linux日常操作的效率和趣味性至关重要。Bash不仅作为默认的shell在Linux系统中运行,而且在许多场景下,用户都在无形中与Bash打交道,无论是执行命令、...

    包含了几乎所有 unix shell script编程特性的 unix shell script 完整项目, 基于 IBM AIX,附注释.rar

    在写IBM AIX K Shell script时,感觉不那么友好,主要是有一些格式细节要求比较严格,不太习惯,后来写惯了也就好了,下面的三个script是我为公司最近写的 一个自动备份shell script,基本要求就是每天晚上23:00自动跑起来...

    AIX 5L Korn and bash Shell Programming.pdf

    根据提供的文档信息,我们可以推断出这是一份关于AIX 5L环境下Korn与bash Shell编程的教学资料。下面将从几个方面详细解读并总结出关键的知识点。 ### 一、课程简介 #### 1.1 课程背景及目标 本课程名为“AIX 5L ...

    AIX shell 字符颜色demo

    一个AIX shell字符颜色demo,放到aix环境赋权限执行即可~

    aix_设置定期删除oracle日志归档

    在AIX环境下,我们可以利用shell脚本或者cron job来实现定期清理任务。以下是一般的步骤: 1. **创建清理脚本**:编写一个bash或ksh脚本来执行删除操作。这个脚本可能包括检查归档日志的年龄、大小,然后使用`rm`...

    AIX日志详解

    ### AIX日志详解 #### 一、AIX日志系统概述 AIX(Advanced Interactive Executive)是由IBM开发的一种基于Unix的操作系统,广泛应用于各种IBM小型机和其他兼容平台。AIX的日志系统对于系统管理员来说至关重要,...

    LINUX,UNIX,SHELL,AIX,VI,脚本

    在IT领域,Linux、Unix、Shell、AIX和VI编辑器是极其重要的组成部分,它们各自承担着不同的功能,但又紧密相连。以下是对这些技术的详细介绍: **Linux** 是一种自由和开放源代码的类UNIX操作系统,其核心由林纳斯...

Global site tag (gtag.js) - Google Analytics