Привет.
Подскажите.
Есть скрипт, он как то не корректно работает.
Скрипт запускается каждый день по крону в одно время.
Преждевременно выполняет команды, а не по очереди.
Бывает выполнит команду с начало /usr/local/bin/php /usr/local/www/serv.php --shelve и просто весит как активный.
Разумеется бэкап не заливается, так как сервер бэкапов становится не активный.
Если запустить вручную сервер /usr/local/bin/php /usr/local/www/serv.php --unshelve, то скрипт продолжает заливку бэкапа от предыдущего раза.
Как его лучше сделать?
Странно как то.
Код: Выделить всё
#!/bin/sh
STAT="/usr/local/bin/php /usr/local/www/serv.php --status"
DT=`date +"%d-%m-%Y"`
DT_YESTERDAY=`date -v-1d +"%d-%m-%Y"`
/usr/local/bin/php /usr/local/www/serv.php --unshelve
/bin/sleep 2400
while [ "$($STAT)" != "ACTIVE" ]
do
/bin/sleep 600
done
/bin/echo "Начало загрузка бэкапа на сервер ${DT}, статус облако "$($STAT)"." | mail -s "Начало загрузка бэкапа в облако ${DT}." bars@local
/usr/bin/ssh -p 22 root@1.1.1.1 rm -rf /mnt/backup/fil/$DT_YESTERDAY
/usr/bin/ssh -p 22 root@1.1.1.1 rm -rf /mnt/backup/sql/$DT_YESTERDAY
/usr/bin/scp -r -P 22 /mnt/backup/fil/${DT} root@1.1.1.1:/mnt/backup/fil/
/usr/bin/scp -r -P 22 /mnt/backup/sql/${DT} root@1.1.1.1:/mnt/backup/sql/
/bin/echo "Конец загрузки бэкапа на сервер ${DT}, статус облако "$($STAT)"." | mail -s "Конец загрузки бэкапа в облако ${DT}." bars@local
/usr/local/bin/php /usr/local/www/serv.php --shelve
exit 0