====== TSM statistics scripts ======
Extract stats from my own tsm html reports.
[root@tsmserver]/root/scripts# cat stats_stgpool.sh
#!/bin/ksh
reportdir=/report/TSM
workdir=$reportdir/tmp1
cd $reportdir
rm -r $workdir
mkdir -p $workdir
YEAR=2018
mystat1=stgpool
mystat2=auditocc
outfile1=$workdir/${mystat1}_stats_$YEAR.csv
outfile2=$workdir/${mystat2}_stats_$YEAR.csv
for file1 in $(ls tsm_daily_report_$YEAR-*-01_*.html)
do
name1=$(echo $file1 | rev | cut -d'_' -f2- | cut -d'_' -f1 | rev)
file2=$(echo $workdir/${mystat1}_${name1}.csv)
cat $file1 | sed -e 's/\>//g' -e 's/\/g' | sed 's/tbody//g' | grep -p stgpool_occ | grep '^TR' | cut -d'"' -f3- | sed 's/\/TDTD/\ /g' | cut -d'/' -f1 | tail -n +2 | sed 's/^TD//' > $file2
done
row=$(cat $workdir/${mystat1}_*csv | awk '{print $1}' | sort -u)
echo "DATE,$row" | tr ' ' ',' | tr '\n' ',' | rev | cut -d',' -f2- | rev > $outfile1
for file1 in $(ls $workdir/${mystat1}*csv)
do
date1=$(echo $file1 | cut -d'_' -f2 | cut -d'.' -f1)
val3=$(echo $date1)
for val1 in $(echo $row | tr ' ' '\n')
do
val2=""
val2=$(grep "^$val1 " $file1 | awk '{print $2}')
val3=$(echo "$val3,$val2")
done
echo $val3 >> $outfile1
done
echo "Output: $outfile1"
for file1 in $(ls tsm_daily_report_$YEAR-*-01_*.html)
do
name1=$(echo $file1 | rev | cut -d'_' -f2- | cut -d'_' -f1 | rev)
file2=$(echo $workdir/${mystat2}_${name1}.csv)
cat $file1 | sed -e 's/\>//g' -e 's/\/g' | sed 's/tbody//g' | grep -p auditocc | grep '^TR' | cut -d'"' -f3- | sed 's/\/TDTD/\ /g' | cut -d'/' -f1 | tail -n +2 | sed 's/^TD//' > $file2
done
row=$(cat $workdir/${mystat2}_*csv | awk '{print $1}' | sort -u)
outfile2=$(echo $workdir/${mystat2}_stats_bkp_$YEAR.csv)
echo "DATE,$row" | tr ' ' ',' | tr '\n' ',' | rev | cut -d',' -f2- | rev > $outfile2
for file1 in $(ls $workdir/${mystat2}*csv | grep -v "$outfile2")
do
date1=$(echo $file1 | cut -d'_' -f2 | cut -d'.' -f1)
val3=$(echo $date1)
for val1 in $(echo $row | tr ' ' '\n')
do
val2=""
val2=$(grep "^$val1 " $file1 | awk '{print $2}')
val3=$(echo "$val3,$val2")
done
echo $val3 >> $outfile2
done
echo "Output: $outfile2"
outfile2=$(echo $workdir/${mystat2}_stats_arch_$YEAR.csv)
echo "DATE,$row" | tr ' ' ',' | tr '\n' ',' | rev | cut -d',' -f2- | rev > $outfile2
for file1 in $(ls $workdir/${mystat2}*csv | grep -v "$outfile2")
do
date1=$(echo $file1 | cut -d'_' -f2 | cut -d'.' -f1)
val3=$(echo $date1)
for val1 in $(echo $row | tr ' ' '\n')
do
val2=""
val2=$(grep "^$val1 " $file1 | awk '{print $4}')
val3=$(echo "$val3,$val2")
done
echo $val3 >> $outfile2
done
echo "Output: $outfile2"
List all files from backups for a specific node
[root@tsmserver]/root/scripts# cat list_backup.sh
#!/bin/ksh
logdir=/tmp
DSMADMC=$(echo "dsmadmc -id=admin -pa=xxxxx")
echo "List all backups for a node and put it into a log file"
echo "Please give a node_name"
read node
nodename1=$(echo $node | tr 'a-z' 'A-Z')
nodename=$(echo "'"$nodename1"'")
logname=$logdir/$nodename1.csv
echo "NODE_NAME:
FILESPACE_NAME:
FILESPACE_ID:
STATE:
TYPE:
HL_NAME:
LL_NAME:
OBJECT_ID:
BACKUP_DATE:
DEACTIVATE_DATE:
OWNER:
CLASS_NAME:
ACTUAL_SIZE:
" | cut -d':' -f1 | awk '{print $1}' | tr '\n' ',' > $logname
echo "$DSMADMC -comma select * from backups where node_name=$nodename"
$DSMADMC -dataonly=yes -comma "select * from backups where node_name=$nodename" | sed 's/\ /_/g' | sed 's/,/;/g' >> $logname
echo "Output file: $logname"