Биллинговая система Nodeny

Главная категория => Nodeny 49 => Тема начата: Maks от 29 Сентября 2009, 20:45:04



Название: Странная работа скрипта Бекапа
Отправлено: Maks от 29 Сентября 2009, 20:45:04
Делал все по мануалу.
На сервере основной БД создал скрипт для бекапа:

#!/bin/sh
passwd_root_mysql='hardpass'
mysql_cmd='/usr/local/bin/mysql'
mysqldump_cmd='/usr/local/bin/mysqldump'

fl=`date "+%d-%m-%Y"`
cd /var/backups/
echo show tables | ${mysql_cmd} -u root --password=${passwd_root_mysql} bill | \
  grep -v '^[stuvxyz]2' | grep -v 'traf_info' | grep -v '^Tables' | \
  xargs ${mysqldump_cmd} -R -Q --add-locks -u root --password=${passwd_root_mysql} \
  --default-character-set=cp1251 bill $1 > bill_${fl}.sql
tar -c -z -f ${fl}.tar.gz bill_${fl}.sql
rm -f bill_${fl}.sql
chmod 400 ${fl}.tar.gz

Запустил
chmod 700 backup_nodeny.sh
./backup_nodeny.sh
Проверил. Все Ок.
Создался архив около 8 метров.
НО !  Последующии дни когда автоматом база бекапилась, создавался архив с размером 133 байта! А в нутри допустим bill_29-08-2009.sql . НО там Пусто!, данных нет.
Подскажите в чем проблема?
Если вручную выполнить ./backup_nodeny.sh создается нормальный бекап.


Название: Re: Странная работа скрипта Бекапа
Отправлено: Maks от 06 Октября 2009, 09:01:52
UP Разве это только у меня такая проблема?


Название: Re: Странная работа скрипта Бекапа
Отправлено: VitalVas от 06 Октября 2009, 18:58:44
попробуй етот
Код:
#!/bin/sh
USERNAME="root"
PASSWORD="hardpass"
WDIR="/root/mysql/"
TIME=`date +%Y-%m-%d-%h-%H:%M:%S`
for base in bill
do
`/bin/mkdir -p $WDIR/$base`
`/bin/chmod 700 $WDIR/$base/`
`/usr/local/bin/mysqldump -u$USERNAME -p$PASSWORD -B $base > $WDIR/$base/backup_$base.sql`
`/usr/bin/gzip -cf9 $WDIR/$base/backup_$base.sql > $WDIR/$base/$base._$TIME.gz`
`/bin/rm $WDIR/$base/*.sql`
`/bin/chmod -R o-rwx $WDIR`
done


Название: Re: Странная работа скрипта Бекапа
Отправлено: Maks от 07 Октября 2009, 11:04:21
попробуй етот
Код:
#!/bin/sh
USERNAME="root"
PASSWORD="hardpass"
WDIR="/root/mysql/"
TIME=`date +%Y-%m-%d-%h-%H:%M:%S`
for base in bill
do
`/bin/mkdir -p $WDIR/$base`
`/bin/chmod 700 $WDIR/$base/`
`/usr/local/bin/mysqldump -u$USERNAME -p$PASSWORD -B $base > $WDIR/$base/backup_$base.sql`
`/usr/bin/gzip -cf9 $WDIR/$base/backup_$base.sql > $WDIR/$base/$base._$TIME.gz`
`/bin/rm $WDIR/$base/*.sql`
`/bin/chmod -R o-rwx $WDIR`
done

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


Название: Re: Странная работа скрипта Бекапа
Отправлено: VitalVas от 07 Октября 2009, 19:30:08
у меня и автомате всьо отлично работает
от запись в кроне
Код:
01      04      *       *       *       root    /root/mysql-backup.sh
в 4 часа ночи делает бекап, тогда самая низкая нагрузка на бд(проверенно).


Название: Re: Странная работа скрипта Бекапа
Отправлено: Maks от 07 Октября 2009, 20:14:54
Спасибо так видимо и сделаю. А подскажи чего твой скрипт дольше делает бекап чем стандартный? Что он бекапит?


Название: Re: Странная работа скрипта Бекапа
Отправлено: VitalVas от 08 Октября 2009, 20:29:43
он бекапит всю базу


Название: Re: Странная работа скрипта Бекапа
Отправлено: Efendy от 08 Октября 2009, 21:11:16
Попробуй в начале оригинального скрипта вставить:
Код:
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin


Название: Re: Странная работа скрипта Бекапа
Отправлено: Maks от 08 Октября 2009, 21:15:29
Попробуй в начале оригинального скрипта вставить:
Код:
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin

И запускать стандартным образом?
Выходит скрипт добжан выглядеть.
cd /etc/periodic/weekly/
ee backup_nodeny.sh

#!/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
passwd_root_mysql='hardpass'
mysql_cmd='/usr/local/bin/mysql'
mysqldump_cmd='/usr/local/bin/mysqldump'

fl=`date "+%d-%m-%Y"`
cd /var/backups/
echo show tables | ${mysql_cmd} -u root --password=${passwd_root_mysql} bill | \
  grep -v '^[stuvxyz]2' | grep -v 'traf_info' | grep -v '^Tables' | \
  xargs ${mysqldump_cmd} -R -Q --add-locks -u root --password=${passwd_root_mysql} \
  --default-character-set=cp1251 bill $1 > bill_${fl}.sql
tar -c -z -f ${fl}.tar.gz bill_${fl}.sql
rm -f bill_${fl}.sql
chmod 400 ${fl}.tar.gz


Название: Re: Странная работа скрипта Бекапа
Отправлено: Efendy от 08 Октября 2009, 21:22:50
ну да. Я сегодня ночью проверю в /etc/periodic


Название: Re: Странная работа скрипта Бекапа
Отправлено: Efendy от 09 Октября 2009, 10:42:24
ну да. Я сегодня ночью проверю в /etc/periodic
Проверил. Все ок. Добавлю в документацию


Название: Re: Странная работа скрипта Бекапа
Отправлено: Maks от 09 Октября 2009, 14:33:58
Все разобрался, работает и стандартный и скрипт которым поделился VitalVas .
Запускаю через крон со строчкой
0   04    *    *     *    /usr/local/nodeny/backup_nodeny.sh
но строчка вида
0   04    *    *     * root    /usr/local/nodeny/backup_nodeny.sh
не работает.


Название: Re: Странная работа скрипта Бекапа
Отправлено: Efendy от 09 Октября 2009, 15:36:40
Естественно, 1я строчка для общего крона, 2я для крона пользователя