нужна помощь в модернизации скрипта

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
maniac22
проходил мимо

нужна помощь в модернизации скрипта

Непрочитанное сообщение maniac22 » 2010-11-07 20:02:31

Всем доброго времени суток )Итак имеем скрипт на bash.Кстати мой первый написанный скрипт =)Необходимо его немного улучшить в плане логирования хода выполнения скрипта.В общих чертах он делает следующее:
остнавливает сервер kannel копирует лог-файл bearer_box_access.log в котором очень нужная инфа в бэкап директорию а затем и на фтп и поднимает снова kannel server.
В него необходимо внести изменения которые добавят больше логирование по ходу выполнения.
И есть непонятный моментик.
ps ax|grep smsserver как вывод етой команды занести в какую то переменную с которой в последствии можно будет считать значение с помощью if?

Код: Выделить всё

#!/bin/bash
DATE=`/bin/date +'%d%m%Y%H%M'`
BACKUP_BEAR=/tmp/backup_bear
LOG_DIR=/var/log
LOG_FILE=${LOG_DIR}/ftp.log
LOG_FILE_ERR=${LOG_DIR}/ftp_err.log
CP_LOG_FILE=BEARERBOX_ACCESS.log
TEMP_DIR=/tmp/bear
FILES_DIR=/KANNEL_LOGS
BACKUP_DIR=/export/home/ftpu/backup
MONTH=`date '+%Y/%m'`
SCRIPT_DIR=/var/log
SCRIPT_LOG=$SCRIPT_DIR/bearer_box_backup.log
USER=kannel_user
PASS=*************
#change directory to kannel logs
if [ ! -f ${SCRIPT_LOG} ]
	then
touch $SCRIPT_LOG
echo `date '+%d-%m-%Y-%H:%M'` "bearer_box_backup.log was created">>$SCRIPT_LOG;
	fi
cd /KANNEL_LOGS/
	if [ $? -gt 0 ]
then echo `date '+%d-%m-%Y-%H:%M'` "directory /KANNEL_LOGS doesn't exists">>$SCRIPT_LOG;
exit
	fi
#if file BEARERBOX_ACCESS.log then go further
if [ ! -f ${CP_LOG_FILE} ]

then
        echo "No files to process">>$SCRIPT_LOG
        exit
else
	
	/etc/init.d/smsserver stop
	
if [ $? -gt 0 ]
then echo `date '+%d-%m-%Y-%H:%M'` "smsserver doesnt running or cannot be stopped exiting the sript">>$SCRIPT_LOG
	exit
	
else
	sleep 30
#copying bearerbox_access.log to the /tmp/bear and to the /tmp/backup_bear
 	cp ${CP_LOG_FILE}  ${BACKUP_BEAR}/
	mv ${BACKUP_BEAR}/${CP_LOG_FILE} ${DATE}.log

if [ $? -gt 0 ]
then echo `date '+%d-%m-%Y-%H:%M'` "Copy was failed!Exiting!!">>$SCRIPT_LOG
	exit
	
else	        
	cp ${CP_LOG_FILE}  ${TEMP_DIR}/
if [ $? -gt 0 ]
then echo `date '+%d-%m-%Y-%H:%M'` "Directory /tmp/bear doesn't exists">>$SCRIPT_LOG
	exit
else
			
	/etc/init.d/smsserver start

if [ $? -gt 0 ]
then echo `date '+%d-%m-%Y-%H:%M'` "WARNING!!!smsserver doesn't starting!">>$SCRIPT_LOG
	exit
	
else
/bin/rm	-r ${CP_LOG_FILE}
cd ${TEMP_DIR}/
mv ${CP_LOG_FILE} ${DATE}.log
	fi
	fi
	fi
	fi
	fi
	if [ ! -d ${BACKUP_DIR}/OUT/$MONTH ]
             then
                mkdir -p ${BACKUP_DIR}/OUT/$MONTH
                cp ${TEMP_DIR}/* ${BACKUP_DIR}/OUT/$MONTH

if [ $? -gt 0 ]
then echo `date '+%d-%m-%Y-%H:%M'` "There was no directory with such month.It was ceated and BEARER_ACCESS.log was copied to it">>$SCRIPT_LOG
	

             else
                cp ${TEMP_DIR}/* ${BACKUP_DIR}/OUT/$MONTH
if [ $? -eq 0 ]
then echo `date '+%d-%m-%Y-%H:%M'` "Directory existed and files were copied into it">>$SCRIPT_LOG
	exit
fi
fi
fi
##wtf??
if [ -d ${LOG_FILE_ERR} ]
then
        rm -f ${LOG_FILE_ERR}
fi


if [ -f ${LOG_FILE_ERR} ]
then
        rm -f ${LOG_FILE_ERR}
fi

#mv ${CP_LOG_FILE} ${DATE}.log

echo "Copying files (FTP) `date`">>$SCRIPT_LOG
ftp -inv xxx.xxx.xxx.147<<EOF >>${LOG_FILE} 2>${LOG_FILE_ERR}
user $USER $PASS
bin
lcd ${TEMP_DIR}
mput *
EOF

if [ -s $LOG_FILE_ERR ]
then

        echo "You have error in ftp transfer!Please check /var/log/bearer_box_backup.log !!!">>$SCRIPT_LOG
        exit 3
else
        rm -rf ${TEMP_DIR}/*
        echo "Files was succesfully copied">>$SCRIPT_LOG
fi
Последний раз редактировалось f_andrey 2010-11-07 22:12:40, всего редактировалось 1 раз.
Причина: Автору, оформляйте сообщение по человечески.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

BSD_daemon
ефрейтор
Сообщения: 63
Зарегистрирован: 2010-10-09 21:51:17
Откуда: Из тех ворот откуда весь народ

Re: нужна помощь в модернизации скрипта

Непрочитанное сообщение BSD_daemon » 2010-11-07 22:15:26

maniac22 писал(а):Всем доброго времени суток )
И вам так же

Вы не дальтоник случаем ?
А то имхо только дальтоник не может заметить гигантскую красную полосу с правилами на верху.
Если дальтоник, то сорри, специально для вас в черно белом контрасте:
Правила форума
Убедительная просьба юзать теги

Код: Выделить всё

 при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными. 
[/quote]

Причина - нет никакого желания смотреть на серию
fi
fi
fi
fi
fi
I also known as: "Нефиг_чем_заняться"