File: mltail

package info (click to toggle)
svtools 0.6-4
  • links: PTS
  • area: main
  • in suites: bullseye, sid
  • size: 172 kB
  • sloc: sh: 1,278; makefile: 174
file content (103 lines) | stat: -rwxr-xr-x 2,156 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#!/bin/sh
#
# mltail
# tail frontend for multilog files
# Klaus Reimer <k@ailis.de>

TITLE=mltail
VERSION=0.6
AUTHOR="Klaus Reimer"
EMAIL=k@ailis.de
COPYRIGHT="Copyright (C) 2000-2011 by $AUTHOR"

showHelp() {
  echo "Usage: $TITLE [OPTION]... SERVICE [TAIL-OPTION]..."
  echo "tail frontend for multilog files"
  echo ""
  echo "  -f, --follow   Output appended data as the file grows"
  echo "  -h, --help     Display help and exit"
  echo "  -V, --version  Display version and exit"
  echo ""
  echo "This utility is a frontend for tail to easily tail logfiles"
  echo "from services running under daemontools. Simply specify the service"
  echo "name (which is the name of the service directory without leading path)."
  echo "You can specify any tail options after the service name. See the man"
  echo "page for tail for more infos."
  echo ""
  echo "Report bugs to $AUTHOR <$EMAIL>"
}

showVersion() {
  echo "$TITLE $VERSION"
  echo ""
  echo "$COPYRIGHT"
  echo "This is free software; you can redistribute it and/or modify it under"
  echo "the terms of the GNU General Public License as published by the Free"
  echo "Software Foundation; either version 2 of the License, or (at your"
  echo "option) any later version."
}

while getopts "fhV-:" NAME
do
  case "$NAME" in
    f)
      PARAMS="$PARAMS --follow=name"
      ;;
    h)
      showHelp
      exit 0
      ;;
    V)
      showVersion
      exit 0
      ;;
    -)
      case "$OPTARG" in
        follow)
          PARAMS="$PARAMS --follow=name"
          ;;
        help)
          showHelp
          exit 0
          ;;
        version)
          showVersion
          exit 0
          ;;
        *)
          echo "Unknown option: $OPTARG"
          showHelp
          exit 1
      esac  
      ;;
    *)
      echo "Unknown option: $OPTARG"
      showHelp
      exit 1
  esac
done

shift `expr $OPTIND - 1`

if [ $# -eq 0 ]
then
  showHelp
  exit 1
fi

if ! SVDIR=`svdir 2>&1`
then
  echo "$TITLE: $SVDIR" >&2
  exit 1
fi

SERVICE=$1

svok $SVDIR/$SERVICE || exit 1
svok $SVDIR/$SERVICE/log || exit 1

shift 1

tail $PARAMS $SVDIR/$SERVICE/log/main/current $* | tai64nlocal

exit 0