meta data for this page
  •  

TSM szerver működéséhez szükséges kritikus fájlok szinkronizálása egy tartalék szerverre

Egy TSM szerver recoveryhez szükséges konfig fájlok mentését végző szkript. Egy tartalék szerverre szinkronizálja a fájlokat, 31 napig napi egyet őriz meg, az utolsó 24 órából pedig az összeset. Crontabból időzítve érdemes viszonylag gyakran futtatni.

tsm_drp_backup.sh
#!/bin/bash
###############################################
# tsm_drp_backup.sh - v1.4 (2014.04.18)       #
# Keszitette: Agoston Peter                   #
###############################################
 
ATTACHFILE=`date +drp_files_%Y%m%d%H%M.tar.gz`
HOME_DIR="/home/instance" # TSM szerver DB2 instance mappa
TSMSERVER="TSMSRV" # TSM szerver instance sztanza
BACKUP_SRV="BCKSZERVER" # Backup hoszt neve
ID="userem" # TSM user
PSW="jelszavam" # TSM jelszo
ERR_MAILS="emailem@valami.hu" # Riasztáshoz email cím
SSH_OPT="-o BatchMode=yes -o ConnectTimeout=5" # Ha nem erheto el a publikus kulcs odaat, ne probaljon jelszoval menni
 
echo "# START "`date`
cd $HOME_DIR
 
# Csak akkor masolgatunk, ha fut itt a szerver alkalmazas
if [ `ps ax | grep dsmserv | grep -v grep | wc -l` -lt 1 ]; then
  echo "Nem fut itt a TSM szerver, leallok." >&2
  exit 1
fi
 
# Megnezzuk tudunk-e kapcsolodni a celszerverhez
printf "Proba kapcsolodas... "
ssh ${SSH_OPT} ${BACKUP_SRV} "echo Ok"
if [[ $? -ne 0 ]]; then
        echo "SSH kapcsolodas ${BACKUP_SRV} szerverhez sikertelen." >&2;
        echo "SSH kapcsolodas ${BACKUP_SRV} szerverhez sikertelen." | mail -s "$TSM SERVER DRP sync err" $ERR_MAILS;
        exit 1;
fi
 
# volhist fájl aktualizálása mielőtt másolnánk
dsmadmc -se=$TSMSERVER -id=$ID -pa=$PSW -dataonly=y backup volhistory
dsmadmc -se=$TSMSERVER -id=$ID -pa=$PSW -dataonly=y backup devconfig
scp -B ./TSM.PWD ./dsmserv.opt ./volumehist.out ./devconf.out ./dsmserv.dbid ${BACKUP_SRV}:${HOME_DIR} >/dev/null 2>&1
#Betomoriti egy tar.gz-be a drp fajlokat es ssh-val atmasolja a backup szerverre
tar cf - ./TSM.PWD ./dsmserv.opt ./volumehist.out ./devconf.out ./dsmserv.dbid | gzip -c9 | ssh ${SSH_OPT} ${BACKUP_SRV} "cat > ${HOME_DIR}/drp_files/${ATTACHFILE}"
if [[ $? -ne 0 ]]; then
        echo -e "$TSMSERVER DRP config fajlok masolasa sikertelen. (${HOME_DIR}/drp_config_sync.sh)\nSzabad hely a BCK hoszton: "`ssh ${SSH_OPT} ${BACKUP_SRV} df | grep "${HOME_DIR}" | awk '{print $8}'`" eleg ez?" | mail -s "$TSMSERVER DRP sync err" ${ERR_MAILS};
fi
 
# A 31 napnal regebbi drp fileokat torli, az 1 napnal regebbiekbol csak a 02:00 orait hagyja meg
echo "Regi verziok torlese a tuloldalrol..."
ssh ${SSH_OPT} ${BACKUP_SRV} "find ${HOME_DIR}/drp_files/drp_files_*0200.tar.gz -exec touch -a {} \;"
ssh ${SSH_OPT} ${BACKUP_SRV} "find ${HOME_DIR}/drp_files/* -atime +1 -exec rm {} \;"
ssh ${SSH_OPT} ${BACKUP_SRV} "find ${HOME_DIR}/drp_files/drp_files_*0200.tar.gz -mtime +31 -exec rm {} \;"