shell脚本日志压缩

Shell 脚本日志压缩打包

压缩 7 天前日志
每个月 1 号,创建上个月的目录,年-月 2018-04
gz 压缩文件拷贝到 年-月 2018-04 目录中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
vim compresslog.sh


day=$(date +"%d")
month=$(date +"%Y-%d")
lastmonth=$(date +"%Y-%m" -d "last month")
lastweek=$(date +"%Y-%m-%d" -d "last week")
logsdir=(/data/app/*/logs)

for logs in ${logsdir[@]}
do
find $logs/ -mtime +7 -regextype posix-extended -regex ".*.(log|out|txt)" -exec gzip {} ;
done

[ $day == 01 ] && cd ${logsdir[@]} && mkdir -pv $lastmonth
for logdir in ${logsdir[@]}
do
[ -d $logdir/$lastmonth ] || mkdir -pv $logdir/$lastmonth
mv $logdir/*gz $logdir/$lastmonth
done