定时备份docker日志(shell方式,可能存在丢部分日志)

创建sh文件 vi ~/backup_docker_log.sh 

复制代码
#!bin/sh

if [ ! -d "/logs"  ];then
    mkdir "/logs"
fi

cd /logs/

for file in /var/lib/docker/containers/*
do
    if test -d $file
    then
        echo $file 是目录
        for logfile in $file/*.log
        do
            if test -f $logfile
            then
                echo $logfile 开始备份
                a="$(basename $logfile)"
                b="${a:0:12}"
                if [ ! -d $b  ];then
                    mkdir $b
                fi
                d="$(date -d 'yesterday' +%Y-%m-%d)"
                log_file="${b}_${d}.log"
                cp $logfile "${b}/$log_file"
                echo '' > $logfile
                tar -cvzf "${b}/${log_file}.tar.gz" "${b}/$log_file"
                rm "${b}/$log_file"
            fi
        done
    fi
done
复制代码

创建定时 crontab -e ,增加一行

0 0 * * * sh /root/backup_docker_log.sh

 

posted @   yanglei.xyz  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示