meta data for this page
TSM trace rotator szkript
A Unix világából jól ismert logrotate alapelvét használva, a TSM trace file-okat időnként betömöríti gzip-pel. A TRACEFILE-ban adjuk meg a trace filet, amibe írja a TSM a trace kimenetet. A TRACEFLAGS paraméter tartalmazza a trace flag-eket, majd a trace-elni kívánt TSM szerver sztanzájához, név, TSM-es user és jelszó megadása jön, és egy MAXSIZE paraméter, amit ha elér a trace file mérete, a szkipt leállítja a trace-elést, betömöríti a trace file-lal azonos könyvtárba dátumbélyegezett gzip fájlba a trace fájlt, majd újraindítja a trace-elést. (De csak ha a trace file fájlrendszerének telítettsége 95% alatt van.) A rotáláskor pár másodperces trace kimenet veszteséggel kell számolni.
- trace_rotator.sh
#!/bin/bash TRACEFILE=/tmp/tsmserver_trace.trc TRACEFLAGS="pvr mms na spi spid sessremote brnode addmsg" TSMSERVER="tsmserver" TSMUSER="admin" TSMPASS="password" MAXSIZE=512 #MBytes control_c() # run if user hits control-c { echo "Terminating, disabling trace..." dsmadmc -id=$TSMUSER -pa=$TSMPASS -se=$TSMSERVER -dataonly=y <<COMMANDS trace flush trace end trace disable * COMMANDS exit 1 } # trap keyboard interrupt (control-c) trap control_c SIGINT touch $TRACEFILE chmod a+w $TRACEFILE while [ $(df -P $TRACEFILE | tail -n1 | awk '{print int($3/$2*100)}') -le 90 ]; do dsmadmc -id=$TSMUSER -pa=$TSMPASS -se=$TSMSERVER -dataonly=y <<COMMANDS trace disable * trace enable $TRACEFLAGS trace begin $TRACEFILE COMMANDS while [ $(( $(ls -l $TRACEFILE | awk '{print $5}')/1024/1024)) -lt $MAXSIZE ]; do sleep 60 done dsmadmc -id=$TSMUSER -pa=$TSMPASS -se=$TSMSERVER -dataonly=y <<COMMANDS trace flush trace end trace disable * COMMANDS gzip -c9 $TRACEFILE > ${TRACEFILE}.$(date "+%Y%m%d-%H%M").gz >$TRACEFILE done