Привет!

>  В связи с этим у меня вопрос - это так и должно было быть и всегда было и я
> сам дурак или все же неплохо было бы выводить какие-то сообщения в конце
> лога в случае каких-либо ошибок ?

В вопросе содержится ответ ;-)

> P.S. LI-V6.3.1.17910 Firebird 2.1 Classic, OS Linux Ubuntu 7.1 Server ,
> Kernel 2.6.22-14-server I686

Вот уж кому-кому, а линуксоиду грех жаловаться на отсутствие средств
проверки в таких случаях.

(форматирование может поехать, скрипт древний, как кал мамонта,
подобные трудятся везде у меня не первый год):

Вот пример (AS IS) для создания резервной копии всех БД, перечисленных
в файле aliases.conf:

#/bin/bash
#set -x
#
#
# This script will backup all databases from firebird aliases.conf file
#
# NOTE: In case of error lock file will NOT be erased
#
#
DB_USERNAME="username"
DB_USERPASS="password"
HOSTNAME="localhost:"
DBNAME=`cat /opt/fb20cs/aliases.conf |grep "/var/db"|grep -v "#"|grep -v 
"cntldb"|awk '{print $1;}'`
BACKUPNAMEDATE=`date +_%Y_%m_%d_%H_%M_%S`
FBK=".fbk20"
TMP="/tmp/"
BACKUPDIR="/var/www/db/"
BZ2=".bz2"
BACKUPLOCK="/tmp/dbbackuper20.lock"
BACKUPCMD="/opt/fb20cs/bin/gbak -B -g "
RESTORECMD="/opt/fb20cs/bin/gbak -C -REPLACE "
CONTROLDB="localhost:cntldb"
DELIMITER=" ---------------------------------------------- "
BACKUPNAME=`date +_%d`
#this function will send mail to administrator
sendMail2Admin()
{
(
echo "To: [email protected]"
echo "From: FB database backup script"
echo "Subject: Error during backup "
echo
echo "Please check logs - there are some errors during to database backup 
process."
echo
) 2>&1 | /usr/lib/sendmail -t
}
if [ -s $BACKUPLOCK ] ; then
echo "[BACKUP LOCK DETECTED at: `date` , EXITING]"
exit
fi
echo "baclup lock">$BACKUPLOCK
for db in $DBNAME
do
echo $DELIMITER
echo
# generating database backup
echo "[DATABASE BACKUP START at: `date` FOR $db]"
$BACKUPCMD -user $DB_USERNAME -password $DB_USERPASS $HOSTNAME$db 
$TMP$db$BACKUPNAME$FBK
resCode=$?
#checking for error
if [ $resCode -ne 0 ]
then
echo "[DATABASE BACKUP PROBLEM at: `date` FOR $db]"
sendMail2Admin
#exit
fi
echo "[DATABASE BACKUP END at: `date` FOR $db]"
echo "[DATABASE CONTROL RESTORE START at: `date` FOR $db]"
# doing control restore
$RESTORECMD -user $DB_USERNAME -password $DB_USERPASS $TMP$db$BACKUPNAME$FBK 
$CONTROLDB
resCode=$?
#checking for error
if [ $resCode -ne 0 ]
then
echo "[CONTROL RESTORE PROBLEM at: `date` FOR $db]"
sendMail2Admin
#exit
fi
echo "[DATABASE CONTROL RESTORE END at: `date` FOR $db]"
# if ok, moving to database
# if failed - mail to admin
rm -rf $TMP$CONTROLDB
mv $TMP$db$BACKUPNAME$FBK $BACKUPDIR
rm -rf $BACKUPDIR$db$BACKUPNAME$FBK$BZ2
bzip2 -z -9 $BACKUPDIR$db$BACKUPNAME$FBK
echo "Backup name:" $BACKUPDIR$db$BACKUPNAME$FBK
echo $DELIMITER
sync
done
rm -rf $BACKUPLOCK



-- 
Best regards,
 Sergey                            mailto:[email protected]


Ответить