docker部署ELK日志处理

docker环境下部署的ELK系统,日志处理,保留最近五个小时的日志

dockerlog.sh

#!/bin/bash 

logs=`find /var/lib/docker/containers/ -name *-json.log` 

d1=`date "+%Y%m%d%H"`
d2=`date -d -5hour "+%Y%m%d%H"`
path1=/home/logs/elk/$d1/
path2=/home/logs/elk/$d2/

mkdir -p $path1

for docker_log in $logs  
do  
     cp $docker_log  $path1
     echo " " > $docker_log
done

rm -rf $path2
echo 'success'

日志保存在/home/elk/ 目录下

/var/lib/docker/containers/ 是docker下所有容器的日志目录

加入定时任务: 每小时执行一次

crontab -e

59 * * * * bash /root/scripts/dockerlog.sh
原文地址:https://www.cnblogs.com/xbblogs/p/10775373.html