news 2026/11/3 2:18:06

收集容器日志脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
收集容器日志脚本
#!/bin/bash COMPOSE_PATH="/data/ir/" LOG_BASE="/data/fi/logs/container_logs" yml="fi.yml" mkdir -p "${LOG_BASE}" cd "${COMPOSE_PATH}" || { echo "ERROR: 无法进入目录 ${COMPOSE_PATH}" exit 1 } PID_FILE="${LOG_BASE}/collect.pid" > "${PID_FILE}" echo "正在读取服务列表..." SERVICES=$(docker-compose -f "${yml}" config --services) echo "${SERVICES}" for svc in ${SERVICES}; do logfile="${LOG_BASE}/${svc}.log" echo "启动采集:${svc} -> ${logfile}" # --since now 只采集启动后新增日志 nohup docker-compose -f "${yml}" logs -f -t "${svc}" >> "${logfile}" & echo $! >> "${PID_FILE}" sleep 0.2 done echo "========================================" echo "日志输出目录:${LOG_BASE}" echo "进程PID文件:${PID_FILE}" echo "========================================"
#!/bin/bash LOG_BASE="/data/finicr/container_logs" pkill -f "docker-compose -f fin.yml logs -f" pkill -f "collect.sh" # 杀掉所有日志采集子进程 pkill -f "docker-compose -f f0.yml logs -f" rm -f "${LOG_BASE}/collect.pid" echo "采集进程已全部停止"
mkdir -p /data/f/shell目录存放脚本log_stop.sh log_collect.sh log_backup.sh 使用root编辑 这个文件vim /etc/logrotate.d/icr-container-log 添加如下内容 /data/fcr/logs/container_logs/*.log { daily dateext dateformat .%Y%m%d rotate 30 compress copytruncate missingok notifempty create 0644 or or su ocr ocr lastaction TODAY=$(date +%Y%m%d) DIR="/data/fcr/logs/${TODAY}" mkdir -p "${DIR}" chown xyd:xyd "${DIR}" chmod 755 "${DIR}" find /data/cr/logs/container_logs -maxdepth 1 -type f -name "*.log.${TODAY}.gz" -exec mv {} "${DIR}/" \; endscript } 使用or用户执行 logrotate -vf -s /tmp/logrotate-state /etc/logrotate.d/cr-container-log 查看/data/fr/logs/下面是否按照日期生成文件夹 文件夹下面是否存在压缩日志 给普通用户ocr添加定时任务 执行 crontab -e -u or 添加: # 每日02:00 执行日志轮转,使用独立状态文件避免权限报错 0 2 * * * /usr/sbin/logrotate -s /data/fin/logs/logrotate.state /etc/logrotate.d/fcr-container-log >> /data/fcr/logs/logrotate_run.log 2>&1 # 每日03:00 统一执行:远程备份当日日志 + 清理本地过期目录 #0 3 * * * /data/finicr/shell/log_backup_and_clean.sh
#!/bin/bash # 每日03:00 统一执行:远程备份当日日志 + 清理本地过期目录 #0 3 * * * /data/f/shell/log_backup_and_clean.sh ########################### 【可自定义参数区】########################### LOG_ROOT="/data/f/logs" LOCAL_RETENTION_DAYS=15 # 本地归档目录保留天数,按需修改 REMOTE_USER="ocr" REMOTE_HOST="远程服务器地址" REMOTE_BASE_PATH="/data/f_backup/logs" ######################################################################### TODAY=$(date +%Y%m%d) LOCAL_TODAY_DIR="${LOG_ROOT}/${TODAY}" LOG_FILE="${LOG_ROOT}/backup_clean_run.log" log_print(){ echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "${LOG_FILE}" } log_print "========== 任务开始 ==========" ## 步骤1:备份当日归档目录 if [ -d "${LOCAL_TODAY_DIR}" ]; then log_print "开始备份目录:${LOCAL_TODAY_DIR}" rsync -avz "${LOCAL_TODAY_DIR}/" "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_BASE_PATH}/${TODAY}/" if [ $? -eq 0 ]; then log_print "✅ ${TODAY} 日志远程备份成功" else log_print "❌ ${TODAY} 日志远程备份失败" fi else log_print "⚠️ 当日归档目录 ${LOCAL_TODAY_DIR} 不存在,跳过备份" fi ## 步骤2:清理本地超过 N 天的日期归档文件夹 log_print "开始清理本地超过 ${LOCAL_RETENTION_DAYS} 天的归档目录" find "${LOG_ROOT}" -maxdepth 1 -type d -regex ".*/[0-9]{8}" -mtime +${LOCAL_RETENTION_DAYS} -exec rm -rf {} \; log_print "本地清理执行完成" log_print "========== 任务结束 ==========\n"
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 2:16:00

Java——初始Java

一、Java语言特性 以下Java语言特性来自于Java白皮书: 1. 简单性 Java语法是C语法的一个“纯净版本”,相当于对C做了一个减法。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。不仅如此&#xff0…

作者头像 李华
网站建设 2026/11/3 2:15:53

rdpwrap.ini 三步替换指南:让 RDP Wrapper 恢复多用户远程桌面

rdpwrap.ini 三步替换指南:让 RDP Wrapper 恢复多用户远程桌面 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini rdpwrap.ini 是 RDP Wrapper Library&#xff08…

作者头像 李华
网站建设 2026/11/3 2:15:46

Folia 安装实操:十分钟从下载跑到全屏歌词动画

Folia 安装实操:十分钟从下载跑到全屏歌词动画 【免费下载链接】folia-major 专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器 项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major 这篇文章只帮你解决一件事&#xff…

作者头像 李华
网站建设 2026/11/3 2:15:38

入侵检测系统(2)

入侵检测系统(Intrusion Detection System,IDS)能否真正发挥作用,往往不取决于算法口号有多响,而取决于传感器放在哪里。同一套特征库与同一套异常模型,部署在终端上、部署在交换机旁、或部署在边界防火墙上,看到的攻击切片截然不同:有的能看到进程与文件被改写,有的只…

作者头像 李华
网站建设 2026/11/3 2:11:23

【从零开始学架构】架构师能力该怎么练:在约束下做判断

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华