前言
本文使用一个线上运行的压缩和删除日志功能的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_di