"watching" a log on FreeBSD vs Linux

6,744

Solution 1

How about this: $ tail -f logfile?

And if you need to grep: $ tail -f logfile | grep foobar.

Solution 2

Port:   gnu-watch-3.2.8
Path:   /usr/ports/misc/gnu-watch
Info:   GNU watch command
Maint:  ehaupt[ woof-woof ]FreeBSD.org
B-deps: 
R-deps: 
WWW:    http://procps.sourceforge.net/

Solution 3

  • Linux: watch -n 5 tail /var/logfile
  • Freebsd: cmdwatch -n 5 /var/logfile
  • Openbsd: gnuwatch -n 5 /var/logfile

(Install from Ports for the BSDs)

Solution 4

You could write a quick shell loop:

while sleep 1; do clear; grep somestuff /var/log/whatever.log | head -n 18; done

Solution 5

If I define your "what I'm trying to do" as "watch changes to a log file", I would suggest rather than using watch that you could just use the "-f" (for "follow") or "-F" option on the tail command, as in tail -f /var/log/whatever.log. The output can also be piped through grep to give you the filtered version you show there. I believe this is also likely to be more efficient than "watch".

Edit: I thought the "follow" option wasn't available on BSD but it appears it is. Must have been thinking of something else that's not there...

Share:
6,744

Related videos on Youtube

Cory J
Author by

Cory J

Updated on September 17, 2022

Comments

  • Cory J
    Cory J almost 2 years

    On Linux systems I can

    watch -n1 tail /var/log/whatever.log
    

    or

    watch -n1 grep somestuff /var/log/whatever.log
    

    To show updates to a log every 1 seconds. On FreeBSD however, the watch command does something else entirely. Who knows a good FreeBSD command for what I'm trying to do? =)

  • Dennis Williamson
    Dennis Williamson about 14 years
    There are the same -f and -F options to tail on FreeBSD.
  • Shadok
    Shadok over 13 years
    On linux you generally have "tailf" which has the advantage of "not accessing the file when it is not growing".
  • kasperd
    kasperd over 8 years
    You are missing " around $@ and eval is not needed. [ 1 -lt 2 ] could be replaced with true. Your script would be a lot more readable if you used some indentation.