Als "root" im Verzeichnis "~s3/log" das Verzeichnis "owlizinfo" anlegen: cd ~s3/log mkdir owlizinfo Alle Rechte vergeben: chmod 777 owlizinfo Besitzer auf s3 einstellen: chown s3 owlizinfo Gruppe auf die Gruppe der anderen Dateien einstellen z.B. users oder abas...: chgrp users owlizinfo Das Script "my.lizinfo.sh" in ~s3/ow/bin ablegen. Aufruf mit "~s3/ow/bin/my.lizinfo.sh" Ergebnis in Ordner "~s3/log/owlizinfo": -rw-rw---- 1 s3 benutzer_abas 508 31. Mär 15:14 20220331151408.LIZINFO.FULL -rw-rw---- 1 s3 benutzer_abas 508 31. Mär 15:14 20220331151412.LIZINFO.FULL -rw-rw---- 1 s3 benutzer_abas 508 31. Mär 15:14 20220331151415.LIZINFO.FULL -rw-rw---- 1 s3 benutzer_abas 508 31. Mär 15:14 20220331151416.LIZINFO.FULL -rw-rw---- 1 s3 benutzer_abas 451 31. Mär 15:14 20220331151458.LIZINFO.FULL -rw-rw---- 1 s3 benutzer_abas 451 31. Mär 15:14 20220331151459.LIZINFO.FULL -rw-rw---- 1 s3 benutzer_abas 451 31. Mär 15:15 20220331151500.LIZINFO.FULL -rw-rw---- 1 s3 benutzer_abas 451 31. Mär 15:15 20220331151502.LIZINFO.FULL -rw-rw---- 1 s3 benutzer_abas 162 31. Mär 15:15 MY.LIZINFO.LOG -rw-rw---- 1 s3 benutzer_abas 451 31. Mär 15:15 20220331151503.LIZINFO.FULL -rw-rw---- 1 s3 benutzer_abas 451 31. Mär 15:15 20220331.LIZINFO.FULL -rw-rw---- 1 s3 benutzer_abas 451 31. Mär 15:15 202203.LIZINFO.FULL -rw-rw---- 1 s3 benutzer_abas 451 31. Mär 15:15 2022.LIZINFO.FULL In "MY.LIZINFO.LOG" sind fortlaufend die Anzahl der belegten FULL-/LIMITED-Lizenzen mit DatumsUhrzeit-Stempel gespeichert. Zu jedem Eintrag gibt es eine Datei mit Dateiname "{YYYY[MM][DD][HHMMSS]}.LIZINFO.FULL", darin ist die komplette Ausgabe der Lizenzen zum Zeitpunkt. my.lizinfo.sh: Version 3.2 -------------------------- usage: my.lizinfo.sh [-s|d|m|y] -t {ZIEL-Verzeichnis} -h {s3-Home-Verzeichnis} [-a] Lizenzinformation * Option -s: Einzelne Neben-Log-Datei pro Aufruf nach dem Format YYYYMMDDHHMMSS.LIZINFO.FULL * Option -d: Einzelne Neben-Log-Datei pro Tag nach dem Format YYYMMDD.LIZINFO.FULL * Option -m: Einzelne Neben-Log-Datei pro Monat nach dem Format YYYYMM.LIZINFO.FULL * Option -y: Einzelne Neben-Log-Datei pro Jahr nach dem Format YYYY.LIZINFO.FULL * Option -t: Zielverzeichnis fuer die LOG-Dateien Bsp. /mnt1/abas/s3/log/owlizinfo * Option -h: s3-Home-Verzeichnis Bsp. /mnt1/abas/s3 * Option -a: Alle Informationen, Maschinen-Logins als auch Benutzer-Logins, ansonsten nur Maschinen-Logins Die Haupt-Logdatei heisst immer MY.LIZINFO.LOG, sie enthaelt nur der Anzahl der FULL/LIMITED/MOBILE/WEBSHOP-Lizenzen. Die Neben-Logdateien enthalten immer die komplette Lizenz-Uebersicht pro Aufruf. !!! Lässt man die Optionen -s|d|m|y weg, dann wird nur die MY.LIZINFO.LOG geschrieben !!! Eintrag in die crontab vom s3 -> Nur Maschinen-Logins: # # Lizinfo jede Minute */1 * * * * ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 # Eintrag in die crontab vom s3 -> Nur Maschinen- und Benutzer-Logins [-a]: # # Lizinfo jede Minute ALL */1 * * * * ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 -a 1>/dev/null 2>&1 # # # Lizinfo jede Sekunde */1 * * * * ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 1; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 2; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 3; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 4; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 5; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 6; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 7; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 8; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 9; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 10; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 11; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 12; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 13; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 14; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 15; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 16; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 17; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 18; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 19; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 20; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 21; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 22; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 23; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 24; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 25; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 26; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 27; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 28; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 29; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 30; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 31; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 32; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 33; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 34; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 35; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 36; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 37; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 38; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 39; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 40; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 41; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 42; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 43; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 44; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 45; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 46; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 47; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 48; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 49; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 50; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 51; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 52; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 53; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 54; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 55; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 56; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 57; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 58; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 */1 * * * * sleep 59; ~s3/ow/bin/my.lizinfo.sh -d -t /mnt1/abas/s3/log/owlizinfo -h /mnt1/abas/s3 1>/dev/null 2>&1 # Um in der Neben-Log-Datei zu suchen kann man den Datums-Uhrzeit-Stempel aus der Haupt-Log-Datei benutzen: grep '20220621105301' 20220621.LIZINFO.FULL Ergebnis ohne Option -a: 20220621105301 ------------------------------ 20220621105301 LIZ_300000001_FULL 16 20220621105301 LIZ_999999NOP_NOP 1 20220621105301 x1:14 LIZ_300000001_FULL 1 20220621105301 x1:15 LIZ_300000001_FULL 4 20220621105301 x1:5 LIZ_300000001_FULL 9 20220621105301 x1:7 LIZ_300000001_FULL 1 20220621105301 x4:10 LIZ_300000001_FULL 3 20220621105301 x4:11 LIZ_300000001_FULL 3 20220621105301 x4:13 LIZ_300000001_FULL 6 20220621105301 x4:14 LIZ_300000001_FULL 3 20220621105301 x4:2 LIZ_300000001_FULL 4 20220621105301 x4:4 LIZ_300000001_FULL 2 20220621105301 x4:5 LIZ_300000001_FULL 2 20220621105301 x4:8 LIZ_300000001_FULL 2 20220621105301 x23:1 LIZ_300000001_FULL 3 20220621105301 x23:1 LIZ_300000001_FULL 2 20220621105301 xnote17:1 LIZ_300000001_FULL 2 20220621105301 xnote19:2 LIZ_300000001_FULL 7 20220621105301 NOP LIZ_999999NOP_NOP 5 20220621105301 ------------------------------ Ergebnis mit Option -a: 20220621105301 ------------------------------ 20220621105301 LIZ_300000001_FULL 16 20220621105301 LIZ_999999NOP_NOP 1 20220621105301 x1:14 LIZ_300000001_FULL 1 20220621105301 x1:15 LIZ_300000001_FULL 4 20220621105301 x1:5 LIZ_300000001_FULL 9 20220621105301 x1:7 LIZ_300000001_FULL 1 20220621105301 x4:10 LIZ_300000001_FULL 3 20220621105301 x4:11 LIZ_300000001_FULL 3 20220621105301 x4:13 LIZ_300000001_FULL 6 20220621105301 x4:14 LIZ_300000001_FULL 3 20220621105301 x4:2 LIZ_300000001_FULL 4 20220621105301 x4:4 LIZ_300000001_FULL 2 20220621105301 x4:5 LIZ_300000001_FULL 2 20220621105301 x4:8 LIZ_300000001_FULL 2 20220621105301 x23:1 LIZ_300000001_FULL 3 20220621105301 x23:1 LIZ_300000001_FULL 2 20220621105301 xnote17:1 LIZ_300000001_FULL 2 20220621105301 xnote19:2 LIZ_300000001_FULL 7 20220621105301 NOP LIZ_999999NOP_NOP 5 20220621105301 ------------------------------ 20220621105301 ++++++++++++++++++++ 20220621105301 W*/system 5 LIZ_999999NOP_NOP 1 20220621105301 xu128 2 LIZ_300000001_FULL 1 20220621105301 bedp 1 LIZ_300000001_FULL_RES_300000004_BATCH 1 20220621105301 xu150 3 LIZ_300000001_FULL 1 20220621105301 xu177 6 LIZ_300000001_FULL 1 20220621105301 xu157 3 LIZ_300000001_FULL 1 20220621105301 xu243 4 LIZ_300000001_FULL 1 20220621105301 xu116 2 LIZ_300000001_FULL 1 20220621105301 xu187 3 LIZ_300000001_FULL 1 20220621105301 xu208 1 LIZ_300000001_FULL 1 20220621105301 xu158 7 LIZ_300000001_FULL 1 20220621105301 xu123 1 LIZ_300000001_FULL 1 20220621105301 xu121 2 LIZ_300000001_FULL 1 20220621105301 xu145 3 LIZ_300000001_FULL 1 20220621105301 xu132 4 LIZ_300000001_FULL 2 20220621105301 xu174 4 LIZ_300000001_FULL 1 20220621105301 xu199 9 LIZ_300000001_FULL 1 20220621105301 ------------------------------ Um rauszufinden was die höchste verwendete FULL-Lizenzanzahl in der Datei MY.LIZINFO.LOG ist, folgenden Befehl verwenden: awk -v max=0 '{if($2>max){want=$2; max=$2}}END{print want} ' MY.LIZINFO.LOG Um rauszufinden was die höchste verwendete LIMITED-Lizenzanzahl in der Datei MY.LIZINFO.LOG ist, folgenden Befehl verwenden: awk -v max=0 '{if($3>max){want=$3; max=$3}}END{print want} ' MY.LIZINFO.LOG Um rauszufinden was die höchste verwendete MOBILE-Lizenzanzahl in der Datei MY.LIZINFO.LOG ist, folgenden Befehl verwenden: awk -v max=0 '{if($4>max){want=$4; max=$4}}END{print want} ' MY.LIZINFO.LOG Um rauszufinden was die höchste verwendete WEBSHOP-Lizenzanzahl in der Datei MY.LIZINFO.LOG ist, folgenden Befehl verwenden: awk -v max=0 '{if($5>max){want=$5; max=$5}}END{print want} ' MY.LIZINFO.LOG Um die Datums-Uhrzeit-Stempel mit der höchsten FULL-Lizenzanzahl herauszufinden, folgenden Befehl verwenden: awk -v max=0 '{if($2>max){want=$2; max=$2}}END{print want} ' MY.LIZINFO.LOG | xargs -I {} bash -c 'grep "\s{}\s" MY.LIZINFO.LOG' Um die Datums-Uhrzeit-Stempel mit der höchsten LIMITED-Lizenzanzahl herauszufinden, folgenden Befehl verwenden: awk -v max=0 '{if($3>max){want=$3; max=$3}}END{print want} ' MY.LIZINFO.LOG | xargs -I {} bash -c 'grep "\s{}\s" MY.LIZINFO.LOG' Um die Datums-Uhrzeit-Stempel mit der höchsten MOBILE-Lizenzanzahl herauszufinden, folgenden Befehl verwenden: awk -v max=0 '{if($4>max){want=$4; max=$4}}END{print want} ' MY.LIZINFO.LOG | xargs -I {} bash -c 'grep "\s{}\s" MY.LIZINFO.LOG' Um die Datums-Uhrzeit-Stempel mit der höchsten WEBSHOP-Lizenzanzahl herauszufinden, folgenden Befehl verwenden: awk -v max=0 '{if($5>max){want=$5; max=$5}}END{print want} ' MY.LIZINFO.LOG | xargs -I {} bash -c 'grep "\s{}\s" MY.LIZINFO.LOG'