meta data for this page
  •  

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Következő változatKövetkező változat mindkét oldalon
shell:riportok:drive_usage [2018/05/22 15:51] – létrehozva adminshell:riportok:drive_usage [2018/05/23 16:28] admin
Sor 1: Sor 1:
 ====== TSM drive usage riport ====== ====== TSM drive usage riport ======
  
-Lekérdezi 24 órás, óránkénti bontásokban a TSM szerver teljes drive használatát, library-kre bontva+Lekérdezi 24 órás, óránkénti bontásokban a TSM szerver teljes drive használatát, library-kre bontva. (Linux/AIX kompitibilis, bash és perl kell a futáshoz.)
  
 <file sh tsm_drive_usage.sh> <file sh tsm_drive_usage.sh>
Sor 9: Sor 9:
 # Keszitette: Agoston Peter, tsm.agostonpeter.com       # # Keszitette: Agoston Peter, tsm.agostonpeter.com       #
 ######################################################### #########################################################
- 
 FILLER="#" FILLER="#"
 TMP_FILE=/tmp/dr_usage_matrix.tmp TMP_FILE=/tmp/dr_usage_matrix.tmp
-TSMUSER=userem +TSMUSER=report 
-TSMPASS=jelszavam +TSMPASS=report 
-TSMSERVER=tsm+TSMSERVER=pcstsm
 declare -A MATRIX declare -A MATRIX
 TODAY=$(date "+%Y-%m-%d") TODAY=$(date "+%Y-%m-%d")
Sor 23: Sor 22:
 LIBRARIES=$(dsmadmc -id=$TSMUSER -pa=$TSMPASS -se=$TSMSERVER -dataonly=y -commadel "select distinct library_name from drives where online='YES'") LIBRARIES=$(dsmadmc -id=$TSMUSER -pa=$TSMPASS -se=$TSMSERVER -dataonly=y -commadel "select distinct library_name from drives where online='YES'")
  
 +bold=$(tput bold)                         # make colors bold/bright
 +#normal=$(tput sgr0)                      # normal text
 +normal=$'\e[0m'                           # (works better sometimes)
 +
 +red="$bold$(tput setaf 1)"                # bright red text
 +green=$(tput setaf 2)                     # dim green text
 +fawn=$(tput setaf 3); beige="$fawn"       # dark yellow text
 +yellow="$bold$fawn"                       # bright yellow text
 +darkblue=$(tput setaf 4)                  # dim blue text
 +blue="$bold$darkblue"                     # bright blue text
 +purple=$(tput setaf 5); magenta="$purple" # magenta text
 +pink="$bold$purple"                       # bright magenta text
 +darkcyan=$(tput setaf 6)                  # dim cyan text
 +cyan="$bold$darkcyan"                     # bright cyan text
 +gray=$(tput setaf 7)                      # dim white text
 +darkgray="$bold"$(tput setaf 0)           # bold black = dark gray text
 +white="$bold$gray"                        # bright white text
  
 while [[ "$DAYS" -gt 0 ]]; do while [[ "$DAYS" -gt 0 ]]; do
Sor 41: Sor 57:
 ) group by ORA ORDER BY ORA" ) group by ORA ORDER BY ORA"
 SQL2="select concat(date(start_time+1 hours) || ' ',substr(time(start_time+1 hours),1,2)) as ORA, cast(CASE WHEN substr(end_time,1,13)>substr(start_time+1 hours,1,13) THEN timestampdiff(8,timestamp(concat(date(end_time) || ' ',substr(time(end_time),1,2)) || ':00:00.000000')-timestamp(concat(date(start_time+1 hours) || ' ',substr(time(start_time+1 hours),1,2)) || ':00:00.000000')) END as dec(5,0)) *60  as USAGE from summary where ACTIVITY='TAPE MOUNT' and library_name='${LIBRARY}' and start_time>timestamp('${DATE_TO}') - $((10#$DAYS+1)) days and start_time<timestamp('${DATE_TO}') - $((10#$DAYS-1)) days ORDER BY start_time" SQL2="select concat(date(start_time+1 hours) || ' ',substr(time(start_time+1 hours),1,2)) as ORA, cast(CASE WHEN substr(end_time,1,13)>substr(start_time+1 hours,1,13) THEN timestampdiff(8,timestamp(concat(date(end_time) || ' ',substr(time(end_time),1,2)) || ':00:00.000000')-timestamp(concat(date(start_time+1 hours) || ' ',substr(time(start_time+1 hours),1,2)) || ':00:00.000000')) END as dec(5,0)) *60  as USAGE from summary where ACTIVITY='TAPE MOUNT' and library_name='${LIBRARY}' and start_time>timestamp('${DATE_TO}') - $((10#$DAYS+1)) days and start_time<timestamp('${DATE_TO}') - $((10#$DAYS-1)) days ORDER BY start_time"
 +SQL_DRIVE_USAGE="SELECT decimal(SUM(float(hour(end_time - start_time)*60+minute(end_time - start_time)))/1440*100/count(DISTINCT substr(drive_name,1,posstr(drive_name,' '))),5,1) as \"24H LOAD (%)\" FROM summary WHERE activity='TAPE MOUNT' AND date(current_timestamp) - 1 days < start_time and end_time<date(current_timestamp) and library_name='${LIBRARY}' GROUP BY library_name"
  
 NR=0 NR=0
Sor 63: Sor 80:
     while [[ "$VALUE" -gt 0 ]]; do     while [[ "$VALUE" -gt 0 ]]; do
         USAGE=$(echo "scale=2; (1/${NUM_OF_DRIVES}*100) + $OLD_VALUE" | bc | sed 's/\..*$//')         USAGE=$(echo "scale=2; (1/${NUM_OF_DRIVES}*100) + $OLD_VALUE" | bc | sed 's/\..*$//')
-        sed -"s/^$HOUR,.*/$HOUR, $USAGE/" $TMP_FILE.2+        perl -pi -e  "s/^$HOUR,.*/$HOUR, $USAGE/" $TMP_FILE.2
         HOUR=$((10#$HOUR+1))         HOUR=$((10#$HOUR+1))
         [[ $HOUR -lt 10 ]] && HOUR="0$HOUR"         [[ $HOUR -lt 10 ]] && HOUR="0$HOUR"
Sor 74: Sor 91:
     HOUR=$(echo $SOR | awk -F',' '{print $1}')     HOUR=$(echo $SOR | awk -F',' '{print $1}')
     VALUE=$(echo $SOR | awk -F',' '{print $2}')     VALUE=$(echo $SOR | awk -F',' '{print $2}')
-    sed -"s/^$HOUR,.*/$HOUR, $VALUE/" $TMP_FILE+    perl -pi -e  "s/^$HOUR,.*/$HOUR, $VALUE/" $TMP_FILE
 done done
 # A diagram matrix feltoltese # A diagram matrix feltoltese
Sor 100: Sor 117:
     for ((I=1;I<=NR;I++)) do     for ((I=1;I<=NR;I++)) do
         if [[ ${MATRIX[$J,$I]} =~ [0-9] ]]; then         if [[ ${MATRIX[$J,$I]} =~ [0-9] ]]; then
-            printf "%3s" ${MATRIX[$J,$I]}+            printf "$bold%3s$normal${MATRIX[$J,$I]} 
 +        elif [[ ${MATRIX[$J,$I]} =~ \# ]]; then 
 +            printf "$bold%3s$normal" ${MATRIX[$J,$I]}${MATRIX[$J,$I]} 
 +        elif [[ ${MATRIX[$J,$I]} =~ _ ]]; then 
 +            printf "$darkgray%3s$normal" ${MATRIX[$J,$I]}${MATRIX[$J,$I]}
         else         else
             printf "%3s" ${MATRIX[$J,$I]}${MATRIX[$J,$I]}             printf "%3s" ${MATRIX[$J,$I]}${MATRIX[$J,$I]}
Sor 106: Sor 127:
     done     done
     [[ $J -eq 7 || $J -eq 2 || $J -eq 12 ]] && printf " _%3s\n" "$((($J-2)*10))%" || echo     [[ $J -eq 7 || $J -eq 2 || $J -eq 12 ]] && printf " _%3s\n" "$((($J-2)*10))%" || echo
-done | tac  | tail -n 13+done | sed '1!G;h;$!d' | tail -n 13
  
-echo "${LIBRARY}" | sed  -e :a -e 's/^.\{1,'$((10#$NR*3))'\}$/ & /;ta'+TOTAL_DRV_USAGE=$(dsmadmc -id=$TSMUSER -pa=$TSMPASS -se=$TSMSERVER -dataonly=yes -commadel "$SQL_DRIVE_USAGE" | egrep -v '(ANR|ANS)'
 +echo "${LIBRARY} (Teljes kihasznaltsag: ${TOTAL_DRV_USAGE}%)" | sed  -e :a -e 's/^.\{1,'$((10#$NR*3))'\}$/ & /;ta'
 echo echo