Creer Page Wiki
- Generer une page Wiki des versions TSM par nodes
#!/bin/bash # # Composer page wiki VersionClientTsm # set -ae Send_Mail() { set -vx LogGer "Send_Mail" sendmail -F"${mail_expediteur}" -f "${mail_emetteur}" -t <<ENDMAIL To: ${mail_to} Cc: ${mail_cc} Bcc: ${mail_bcc} Subject: ${mail_subject} $( cat ${fic_mail} ) ENDMAIL } LogGer() { logger -t "[ ${NamePage} - $$ ] " -p user.info "${1}" } #------------ #----------- temp et nom de la page wiki sur serveur #------------ TempPage=/tmp/PageWiki_$$ TempPageCsv=/tmp/PageWiki_$$.csv fic_mail=/tmp/fic_mail_$$ PageWikiCSV=VersionClientTsm.csv IdentFile=/home/user/.ssh/id_rsa_sspphr exec 3> ${TempPage} exec 4> ${fic_mail} NamePage=VersionClientTsm #------------ #------------ Colonnes pour representer # resultats des commandes a passer #------------ Columns="Domain Name,Client TSM,Tcp Address,Plateforme,OS Level,TSM Client Level" #------- commande q event Ttable=EVENTS Titre="[ TSM ] Recap TSM Client Level au $(date +%d"/"%m"/"%Y ) à $(date +%Hh%M)" #------------ #------------ Constituer page wiki #------------ LogGer "# --------------- DEBUT" cat << @EOFF >&3 ##master-date:Unknown-Date #format wiki #language fr #pragma section-numbers 2 ---- = ${Titre} = ---- {{{ Constituée avec script ${0} compte ${USER} machine ${HOSTNAME} }}} [[attachment:${PageWikiCSV}]] <<TableOfContents>> @EOFF #----- Recuperer information sur saves a partir des serveurs TSM de Prod helvite=/opt/tivoli/tsm/client/ba/bin/dsm.opt zola=/opt/tivoli/tsm/client/ba/bin/dsm_zola.opt sartre=/opt/tivoli/tsm/client/ba/bin/dsm_sartre.opt for Serveur in helvite zola sartre do eval Sserveur=\$${Serveur} cat << @EOFF >&3 == TSM Serveur ${Serveur} == ||<rowstyle="text-align: center;font-weight: bold;background-color: green;"> $( echo ${Columns} | sed "s/,/ || /g;s/$/ ||/") @EOFF #------- Commande TSM passee #- en jaune = Missed #- en rouge = Failed # QUERY EVENT avec EXceptionsonly=yes ===> que les erreurs test ! -z ${1} && Anos="EXceptionsonly=yes" LogGer "QUERY EVENT serveur ${Sserveur}" ssh -i ${IdentFile} root@serveur dsmadmc -optfile=${Sserveur} -id=pass -pa=pass -dataonly=yes -comma "select NODE_NAME,PLATFORM_NAME,CLIENT_VERSION,CLIENT_RELEASE,CLIENT_LEVEL,CLIENT_SUBLEVEL,CLIENT_OS_LEVEL,DOMAIN_NAME,TCP_ADDRESS from NODES order by DOMAIN_NAME | awk -F"," '{ pt="\"\.\"" ; vertsm=\$3pt\$4pt\$5pt\$6 ; if ( \$2 ~ /Win/ || \$2 ~ /Linux/ ) { printf(\"|| %s || %s || %s || %s || %s || %s ||\n\",\$8,\$1,\$9,\$2,\$7,vertsm )} }' " >&3 done #------------ #========= Copier page sur serveur #------------ pcurrent="/srv/moin/wikis/intheb/data/pages/user(2f)${NamePage}/current" current=$( ssh -i ${IdentFile} root@serveur "cat '${pcurrent}'") LogGer "Recup page courante de serveur ${NamePage} ${current}" LogGer "Copier new page sur serveur" pcurrent="/srv/moin/wikis/intheb/data/pages/user(2f)${NamePage}/revisions/${current}" scp -i ${IdentFile} ${TempPage} root@serveur:"'${pcurrent}'" #------------- info par mail au groupe #---------------- sujet pour mail a envoyer mail_subject="[TSM] Page Wiki recap Client Level" # mail_expediteur="${USER}@${HOSTNAME}" mail_emetteur="${USER}@${HOSTNAME}" mail_to="....." # mail_to="" mail_cc="" mail_bcc="" cat << @EOFF >&4 Bonjour, Page wiki recapitulant la version du Client TSM identifie a partir des TSM serveur http://serveur/moin/wiki/infraheb/user/${NamePage} Cdt @EOFF #--------------------- #--- close fics et del #--------------------- exec 3<&- exec 4<&- #--------------------- #========== Copier sur Serveur Page wiki en csv #--------------------- grep '||' ${TempPage} | sed "s/||/;/g;s/^;//;s/;$//;s/<rowstyle=\"text-align: center;font-weight: bold;background-color: green;\">//" > ${TempPageCsv} pcurrent="/srv/moin/wikis/intheb/data/pages/user(2f)${NamePage}/attachments/${PageWikiCSV}" scp -i ${IdentFile} ${TempPageCsv} root@serveur:"'${pcurrent}'" #--------------------- # Send_Mail #--------------------- mail -s"${mail_subject}" ${mail_to} < ${fic_mail} #--------------------- #-- delete fic tempo #--------------------- test -f ${TempPage} && rm ${TempPage} test -f ${TempPageCsv} && rm ${TempPageCsv} test -f ${fic_mail} && rm ${fic_mail} LogGer "# --------------- FIN"
Previous page: Cotation Bourse
Page suivante : Résultat Euro Millions et Loto