Sign inSign up

r8112013/logtail

By r8112013

•Updated over 3 years ago

Image
0

872

r8112013/logtail repository overview

dockerfile

FROM bash

COPY logtail.sh /usr/bin/logtail.sh
RUN chmod +x /usr/bin/logtail.sh

ENTRYPOINT ["/usr/bin/logtail.sh"]

logtail.sh

#!/usr/bin/env bash

if [ $# -lt 1 ]; then
  echo "输入一个日志目录,用于监控此目录下的日志文件(目录结尾不要/)"
  exit 1
fi
# 获取/var/log目录下所有以.log结尾的文件名,并保存到数组中
logs=(${1}/*.log)

# 执行tail命令跟踪每个文件
for log in "${logs[@]}"
do
  tail -n+1 -F "$log" &
done

# 等待新的文件出现,并将新文件加入到tail命令中
while true
do
  new_logs=(${1}/*.log)
  for log in "${new_logs[@]}"
  do
    if [[ ! "${logs[@]}" =~ "${log}" ]]
    then
      tail -n+1 -F "$log" &
      logs+=("$log")
    fi
  done
  sleep 10
done

Tag summary

Content type

Image

Digest

sha256:3f62bcb3d…

Size

5.3 MB

Last updated

over 3 years ago

docker pull r8112013/logtail