前言
本文使用一个线上运行的压缩和删除日志功能的Shell脚本,对其中用到的一些编程语法进行拆解,方便后续更快看懂脚本、更快编写脚本实现运维功能。
脚本功能说明
对日志文件进行压缩,压缩后磁盘占用仍然很大,就对历史日志进行删除
脚本如下:
#!/bin/bash
time=`date -d '1 hours ago' '+%Y%m%d-%H'`
time1=`date -d '1 hours ago' '+%Y%m%d%H'`
time2=`date -d '2 hours ago' '+%H'`
date=`date -d '1 days ago' '+%Y_%m_%d'`
date1=`date -d '2 days ago' '+%Y_%m_%d'`
date2=`date -d '2 hours ago' '+%Y%m%d'`
randomtime=$(($RANDOM%600+1 ))
sleep $randomtime
for i in `echo /data1/*`
do
cd $i/logs
mv stderr.log stderr.log.$time
mv stdout.log stdout.log.$time
gzip -9 *.$time*
gzip -9 *.$time1*
gzip -9 $date.*.log
get_disk_num(

本文详细介绍了如何使用Linux Shell脚本进行日志文件的自动压缩和删除,涉及的关键命令包括date、sleep、mv、gzip、df、grep、awk、if、bc、find和xargs。通过实例解析了这些命令在脚本中的应用,例如date用于日期计算,grep和awk用于筛选信息,find和xargs用于批量删除文件。
最低0.47元/天 解锁文章
715

被折叠的 条评论
为什么被折叠?



