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.
#!/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 {} \;"