diff --git a/Makefile b/Makefile index d8e20bc..97318ce 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -logmanager.tar: logmanager logarchiver logcompressor logcleaner Makefile lmtab.example +logmanager.tar: logmanager logarchiver logcompressor logcleaner Makefile lmtab.example README.md pax -w -s '!^!logmanager/!' -f $@ -- $^ %.tar.gz: %.tar diff --git a/README.md b/README.md new file mode 100644 index 0000000..fa4f2eb --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +Logmanager +========== + +Irgendwo das Archiv entpacken. Es reicht eigentlich auf jeder Maschine nur +einmal Logmanager zu installieren und es für jeden Zweck gleichzeitig zu +verwenden. +Pro Benutzer gibt es eine Config-file `~/.lmtab`, +siehe dazu `lmtab.example`. + +Tests werden bei jeder Änderung empfohlen: + + # env -i ./logmanager -N + +Es sollten die meisten Umgebungsvariablenprobleme dadurch entdeckt +werden können. Siehe hierzu das `fuser`-Problem weiter unten. + +Um den Logmanager einmal rennen zu lassen reicht: + + # ./logmanager + +Weitere Informationen gibt es via `./logmanager -h`. + +Cronjob +------- + +Es reicht eine Zeile als Cronjob: + + 0 3 * * * exec LOGMANAGER_PATH/logmanager + +`exec` sorgt dafür, dass die Shell, die den logmanager startet ersetzt +wird, statt dass sie den logmanager aufruft und dann wartet. +Diese Shell wird garnicht benötigt, hat also keinen Nachteil. + +fuser +----- + +`fuser` ist ein Programm zum Abfragen, ob eine Datei von einem Prozess +noch benötigt wird. Dieses ist **unbedingt** erforderlich. +Es kommt leider auch vor, dass dieses nicht gefunden werden kann, +etwa wenn es in `/usr/sbin` (einige Solaris-Maschinen), installiert ist. +In diesem Falle muss dieser Pfad bekannt gegeben werden. +Hierzu ist etwa diese Zeile in der `~/.lmtab` hilfreich: + + PATH=${PATH}:/usr/sbin diff --git a/logarchiver b/logarchiver index 7735032..4e6ba96 100755 --- a/logarchiver +++ b/logarchiver @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh e='*.log' i= @@ -26,7 +26,7 @@ do *) help ;; esac done -shift $(($OPTIND-1)) +shift `expr $OPTIND - 1` if ! [ 0 -lt $# ] then diff --git a/logcleaner b/logcleaner index c6a6f87..6667f7a 100755 --- a/logcleaner +++ b/logcleaner @@ -24,7 +24,7 @@ do n) n=echo ;; esac done -shift $(($OPTIND-1)) +shift `expr $OPTIND - 1` [ 0 -lt $# ] || help [ X = X"$a" ] || a="-mtime +$a" diff --git a/logcompressor b/logcompressor index ba10d14..59318f9 100755 --- a/logcompressor +++ b/logcompressor @@ -25,7 +25,7 @@ do -c) p="$OPTARG" ;; esac done -shift $(($OPTIND-1)) +shift `expr $OPTIND - 1` [ 0 -lt $# ] || help diff --git a/logmanager b/logmanager index 33f8427..cb529e7 100755 --- a/logmanager +++ b/logmanager @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh archiver=`dirname "$0"`/logarchiver rotator=`dirname "$0"`/logrotator @@ -39,7 +39,7 @@ do *) help ;; esac done -shift $(($OPTIND-1)) +shift `expr $OPTIND - 1` for n in "$c" ./lmtab ~/.lmtab /etc/lmtab do