Shell script backup command AIX

** Myself
ตัวอย่างการใช้ command backup ของ AIX เพื่อ backup path ต่างๆเก็บไว้ใน /backup ครับ
โดยแบ่งเป็น แบบ อ่านตัวแปรของ patch ต่างๆ จากไฟล์ B_spec.cfg โดยเอาไป modify เพื่อใช้งานได้ครับ
B_spec.cfg
/data/prod/BCK_RAW
/data/prod/BCK_OUT
/app/oracle
/app/prod
/data/prod/el2/TimesTen
/data/prod/el2/control
/data/prod/el2/buffer

Backup_aix_path.sh
#!/bin/sh
## Env ##
export backup_dir=/backup/$(uname -n)
logdir=${backup_dir}/log
export blog=${logdir}/backup_$(uname -n).$(date +%d)log
export bakspec=/script/B_spec.cfg
## Start Clear Log File ##
find  ${logdir} -mtime +7 -exec rm {} \;
## End Clear Log File ##
## Main ##
echo "-------------------------------------------------" > $blog
## Env ##
export backup_dir=/backup/$(uname -n)
logdir=${backup_dir}/log
export blog=${logdir}/backup_$(uname -n).$(date +%d)log
export bakspec=/script/B_spec.cfg
## Start Clear Log File ##
find  ${logdir} -mtime +7 -exec rm {} \;
## End Clear Log File ##
## Main ##
echo "-------------------------------------------------" > $blog
echo "$(date +%D"("%T")")\tStart backup process " >> $blog
echo "" >> $blog
for i in $(cat ${bakspec})
do
bkpath=${i}
bkfout=$(echo ${bkpath}|sed "s/\\//_/g")
bkfout="$(uname -n)${bkfout}"
bkfout="${bkfout}_$(date +%Y%m%d).abk"
echo "$(date +%D"("%T")")\tBackup ${bkpath}" >> $blog
#find ${bkpath} -print |backup -iqvf ${backup_dir}/${bkfout} > /dev/null
EXTSTATE=$(echo ${?})
if [ ${EXTSTATE} -eq 0 ]; then
        echo "$(date +%D"("%T")")\t${bkpath}\t\tCOMPLETED" >> $blog
else
        echo "$(date +%D"("%T")")\t${bkpath}\t\tFAILED\t${EXTSTATE}" >> $blog
fi
done
echo "$(date +%D"("%T")")\tFinish backup process" >> $blog
echo "" >> $blog
echo "##################################################" >> $blog

0 comments:

Loading