#!/bin/bash # read from STDIN, lines coming from rsyslog files. Pass to STDOUT any line with timestamp younger than 10 mins MODE=$1 # supported: or "gitea" NOW=$(date +"%s") while read -r LINE; do if [[ ${MODE} == 'gitea' ]]; then D="${LINE:0:10}" D=$( echo $D | awk -F/ '{print $2 "/" $3 "/" $1}') DT="${D} ${LINE:11:8}" else DT=${LINE:0:15} fi DT=$(date --date="${DT}" +"%s") (( SECS = NOW - DT )) if [[ ${SECS} -lt 601 ]] ; then echo "$LINE" fi done