shell如何实现日志切割脚本

2023-04-09 17:51:00 脚本 切割 如何实现

如何实现日志切割脚本

一般来说,日志切割脚本都是每天定时执行一次,用来将当天的日志文件切割成小文件,以便于更好地管理和查看日志。

下面介绍一下如何使用shell脚本实现日志切割的功能。

首先,需要编写一个shell脚本,例如:

#!/bin/bash # This is a log rotate script. # Set the variables for the script LOGDIR="/var/log" LOGFILE="$LOGDIR/access.log" DATESTAMP=`date +%Y%m%d` # Backup the log file mv $LOGFILE $LOGFILE.$DATESTAMP # Create a new log file touch $LOGFILE # Set the proper permissions chmod 644 $LOGFILE # Rotate the log files for i in `ls -rt $LOGDIR/access.log.*`; do # If the log file is more than 30 days old, delete it. if [ `find $i -mtime +30` ]; then rm -f $i; fi done

上面的脚本首先将当天的日志文件备份,然后创建一个新的日志文件,并设置好权限。

接下来,需要将该脚本添加到crontab中,设置定时执行。例如,每天凌晨1点执行一次日志切割脚本。

0 1 * * * /bin/bash /path/to/script/logrotate.sh

上面的脚本每天凌晨1点执行一次日志切割脚本。

执行完日志切割脚本后,日志目录中会生成一个新的日志文件,例如:

/var/log/access.log.20180301

这样就可以对日志进行更好的管理和查看了。

相关文章