====== TSM script tricks / astuces ====== ===== How to use variables into scripts ===== Pratical example DSMADMC1="/usr/tivoli/tsm/client/ba/bin64/dsmadmc -id=${tsm_admin} -pa=${tsm_password} -se=${srv}" OPT_COMMA="-comma" OPT_TAB="-tab" OPT_DATAONLY="-dataonly=yes" for days in {0..5} do (( BEGIN = 24 * days )) (( END = (24 * days) + 24 )) $DSMADMC $OPT_COMMA $OPT_DATAONLY "SELECT entity,cast(float(sum(bytes)) / 1024 / 1024 / 1024 AS DECIMAL(8,2)) as GB FROM summary where ( activity='ARCHIVE' OR lower(activity) like '%backup%') AND entity<>'' AND end_time>current_timestamp-$END hours and end_time **Tricks for dates:** jour -X --> date Linux (into AIX RPM package coreutils, or linux native date) expired=1 YESTERDAY=$(/opt/freeware/bin/date +%Y-%m-%d -d "$expired day ago") TODAY=$(/opt/freeware/bin/date +%Y-%m-%d) In TSM select yesterday is : current_timestamp-24 hours **Exemple of script with simplified syntax** [root@tsm01 bin]> cat check_vol.sh #!/bin/bash tsm_admin=report tsm_password=report DSMADMC="dsmadmc -id=${tsm_admin} -pa=${tsm_password}" node=MYSQL01 mydate=1 # today -1 NODE=$(echo "'"$node"'") date1=$(/opt/freeware/bin/date +%Y-%m-%d -d "$mydate day ago") DATE=$(echo "'"$date1"'") SELECTION=$(echo "SELECT volumeusage.volume_name FROM volumeusage , volumes WHERE volumeusage.volume_name=volumes.volume_name and volumeusage.node_name=$NODE" and volumes.last_write_date<$DATE") $DSMADMC "$SELECTION" FIXME Never use UNIX OS commands nor predefined variables as scripts variables --> I use date1, not date (which is a UNIX command!)