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
* * * * bash /root/scripts/dockerlog.sh