Forum
Centos ve Red Hat uzerinde calisan IBM DB2 SERVER lerimizdeki
veritabanlarinin yedeklenmesi icin bir shall
script yazmak istiyorum.
Amacim daha once benim belirledigim yerdeki
data lar(dizinler) yine benim belirledigim dizinlere kopyalanmali
İnternette biraz araştırma yapınca http://www.cozumpark.com/blogs/bm/archive/2008/04/16/_3101_bm-db2-backup-restore-lemi.aspx adresindeki çözümü buldum. Ancak ben bu işlemi bir shall script ile yaptırmak niyetindeyim. Bu baglamda asagidaki gibi bir script olusturdum ancak bazi hatalar almaktayım. Konu ile ilgil çözüm önerileri olan arkdaslar yardımcı olabilirse cok mutlu olurum.
Kolaylıklar
----
#!/bin/bash
echo "root ile tomcati durduruyoruz : [${USER}] [`date`]"
sudo -u root /webdata/tomcat70/bin/shutdown.sh
echo "kisa bir mola : [${USER}] [`date`]"
sleep 1
echo "db2inst1 ile db2 yu durduruyoruz : [${USER}] [`date`]"
sudo -u db2inst1 db2stop
echo "db2 yedekleme islemi : [${USER}] [`date`]"
. /home/db2inst1/sqllib/db2profile
NBHISTO=12
MINDATE=`date --date "$NBHISTO days ago" +%Y%m%d`
REM +- Fin initialisation -+
destdir=/db2_backup
db2backupdir=$destdir/SAMPLE.0/DB2/NODE0000/CATN0000
echo "DB2 Backup"
db2 -v -f$destdir/sample_backup.db2 -z$destdir/sample_backup.log
returnCode=$?
if [ "$returnCode" != "0" ]
then
echo "Error1 BACKUP DB2 : $returnCode"
exit $returnCode
fi
echo " Suppression historique backup DB2 PIB "
db2 -v CONNECT TO SAMPLE user myuser using mypassword
db2 -v prune history $MINDATE and delete
db2 -v connect reset
returnCode=$?
if [ "$returnCode" != "0" ]
then
echo "Error2 BACKUP DB2 PRUNE : $returnCode"
exit $returnCode
fi
# Suppression physique des anciens fichiers
DELTA=50
while [ $DELTA -gt $NBHISTO ]
do
MAXDATE=`date --date "$DELTA days ago" +%Y%m%d`
rm /db2data/SAMPLE.0.db2inst.NODE0000.CATN0000.$MAXDATE*
DELTA=$((DELTA - 1))
done
echo "error3 : $returnCode"
exit $returnCode
echo "db2 yedekleme islemi tamamlandi : [${USER}] [`date`]"
echo "db2inst1 ile db2 yu yeniden baslatiyoruz : [${USER}] [`date`]"
sudo -u db2inst1 db2start
echo "root ile tomcati baslatiyoruz : [${USER}] [`date`]"
sudo -u root /webdata/tomcat70/bin/startup.sh
-----
Hocam scrip biraz fazla şişirilmiş 🙂 siz aldığınız hatayı yazarmsınız ?