For at overvåge en logfil med tail -f
og afslutte overvågningen, når en bestemt streng findes, kan du bruge en kombination af tail -f
, grep
og pkill
eller lignende kommandoer. Her er en trin-for-trin guide til, hvordan du kan gøre dette:
Start med at bruge tail -f
til at overvåge logfilen:
tail -f /path/to/logfile.log
Brug grep
til at søge efter den specifikke streng i outputtet fra tail -f
:
tail -f /path/to/logfile.log | grep --line-buffered "specific_string"
For at afslutte overvågningen, når strengen findes, kan du bruge et script, der overvåger outputtet fra grep
og afslutter tail -f
processen. Her er et eksempel på et bash-script:
#!/bin/bash
tail -f /path/to/logfile.log | grep --line-buffered "specific_string" &
TAIL_PID=$!
while kill -0 $TAIL_PID 2>/dev/null; do
if grep -q "specific_string" /path/to/logfile.log; then
kill $TAIL_PID
break
fi
sleep 1
done
echo "String found, script continues..."
Dette script gør følgende:
tail -f
og grep
i baggrunden.tail -f
processen.while
løkke til at tjekke, om tail -f
processen stadig kører.tail -f
processen, og scriptet fortsætter.Dette er en enkel måde at overvåge en logfil og afslutte overvågningen, når en bestemt streng findes, så scriptet kan fortsætte med at udføre andre opgaver.
Med Handyhand kan du nemt få hjælp til logfilovervågning og andre tekniske opgaver. Opret din opgave gratis, og modtag bud fra kvalificerede hjælpere på få minutter. Gør det enkelt at få løst dine tekniske udfordringer!