Биллинговая система Nodeny
24 Ноября 2024, 03:33:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: backup сохраняется пустой  (Прочитано 6809 раз)
lans999
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 59


Просмотр профиля
« : 17 Марта 2010, 21:18:06 »

Делаю
cd /etc/periodic/weekly/
ee backup_nodeny.sh
Код:
#!/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
passwd_root_mysql=`perl -e'require "/usr/local/nodeny/history.nod"; print $sql_root_pass;'`
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

в /var/backups создается архив с сегодняшним числом. За этим все по мануалу восстанавливаем базу в test меняем ее в админке и все работает.

Но если бекап создается по расписанию, то его размер гораздо меньше и при восстановлении видно, что это пустая начальная база Nodeny.
Откуда он ее бекапит интересно?

Бэкапятся файлы вот такого содержания
Код:
-- MySQL dump 10.13  Distrib 5.5.2-m2, for portbld-freebsd8.0 (i386)
--
-- Host: localhost    Database: bill
-- ------------------------------------------------------
-- Server version<----->5.5.2-m2-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES cp1251 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

Методом проб выяснил, что эти почти пустые бэкапные файлы создаются только  при перезагрузке (/etc/periodic/weekly/backup_nodeny.sh). Причем при перезагрузке файлы заменяются! Например, если даже я в ручную запустил backup_nodeny.sh и создал нормальный архив с рабочей базой, то после перезагрузки, он заменится на не рабочий.

Сейчас прописал делать бек каждый день в 4.00, посмотрим как сработает.

В 4.00 создался нормальный архив, но после перезагрузки обратно заменился на пустой.
Что делать?
« Последнее редактирование: 18 Марта 2010, 11:08:13 от lans999 » Записан
versus
Администратор
Спец
*****

Карма: 21
Offline Offline

Сообщений: 845


44306843
Просмотр профиля WWW Email
« Ответ #1 : 18 Марта 2010, 11:34:30 »

что такое после перезагрузки обратно ?
Записан
lans999
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 59


Просмотр профиля
« Ответ #2 : 18 Марта 2010, 12:31:31 »

Пример:
Ночью в 4.00 по расписанию сработал скрипт, в папке /var/backups создался архив 18-03-2010.tar.gz с рабочим бэкапом с размером 64550 байт  . В 9.00 я перезагружаю сервер и вижу в папке /var/backups файл 18-03-2010.tar.gz с размером 476 байт созданный во время перезагрузки.
Как и что создает этот файл?
Записан
versus
Администратор
Спец
*****

Карма: 21
Offline Offline

Сообщений: 845


44306843
Просмотр профиля WWW Email
« Ответ #3 : 20 Марта 2010, 00:03:20 »

А зачем в 9 перегружать сервер ? Я б убил бы если б у меня сервер перегрузил кто то.
Записан
lans999
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 59


Просмотр профиля
« Ответ #4 : 20 Марта 2010, 10:12:20 »

Сервер тестовый.
Перенес сохранение баз в /var/backups/nodeny и проблема ушла, видимо при перезагрузке что-то делало mysqldump в /var/backups
Может иметь к этому отношение строка при загрузке из консоли:
после старта cron
Код:
local package initialization: mysqldump: Coldn`t find table: "start"
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!