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

Главная категория => Общий раздел => Тема начата: Александр (AleksHr) от 20 Сентября 2009, 14:59:20



Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 20 Сентября 2009, 14:59:20
Сделал бекап по документации, когда пробую восстановить, пишет:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''#NoDeny Config File\n\n$VER_cfg = 49.27;\n$Nodeny_dir = \'/usr/local/nodeny\';\' at line 1

по ходу некоторые таблицы не восстанавливаются...


Название: Архив бэкапа и mc
Отправлено: goletsa от 20 Сентября 2009, 18:00:38
Как именно восстанавливали.

Недавно переносил базу на новый сервер - все нормально перенеслось.


Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 20 Сентября 2009, 18:03:29
server_db#  mysql -p
ввод пароля
mysql> drop database test;
mysql> create database test;
mysql> use test;
mysql> source bill_dd-mm-yyyy.sql;

понятно что свое имя файла подставлял


Название: Архив бэкапа и mc
Отправлено: goletsa от 20 Сентября 2009, 19:12:08
Я както так...
База была создана ранее и ничего не содержала.

Код:
# date && mysql -p bill < bill_14-09-2009.sql && date
Mon Sep 14 21:28:13 MSD 2009
Enter password:
Mon Sep 14 21:50:05 MSD 2009


Название: Архив бэкапа и mc
Отправлено: goletsa от 20 Сентября 2009, 19:16:27
Код:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''#NoDeny Config File\n\n$VER_cfg = 49.27;\n$Nodeny_dir = \'/usr/local/nodeny\';\' at line 1
А с того файла вообще востанавливаете?


Название: Архив бэкапа и mc
Отправлено: Efendy от 20 Сентября 2009, 19:17:29
А с того файла вообще востанавливаете?
судя по
Цитировать
at line 1
явно не с того)


Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 21 Сентября 2009, 09:29:37
Издеваетеся?))) Я ж не идиот чтоб не той файл востанавливать...
Скрипт создает бекап в папке /var/backups запакованый tar

Роспаковываю tar получаю файл xxx.sql.

Вот и еге востанавливаю.

P.S. В базе востанавливается приблизительно половина таблиц пока ошибка синтаксиса не вискакивает. Смотрел удаленно через mysqlfront.

Так в чем дела может быть?


Название: Архив бэкапа и mc
Отправлено: Efendy от 21 Сентября 2009, 10:38:47
Что значит мы с тебя издевамся?
Цитировать
You have an error in your SQL syntax .....  at line 1
покажи первую строку файла с которого ты восстанавливашься


Название: Архив бэкапа и mc
Отправлено: versus от 21 Сентября 2009, 10:50:54
Код:
#NoDeny Config File\n\n$VER_cfg = 49.27;\n$Nodeny_dir = \'/usr/local/nodeny\';\

Какой интерсный скл запрос!


Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 21 Сентября 2009, 11:25:15
Последняя строка бекапа:

LOCK TABLES `config` WRITE;
/*!40000 ALTER TABLE `config` DISABLE KEYS */;
INSERT INTO `config` VALUES (1,1253248210,'#NoDeny Config File\n\n$VER_cfg = 49.27;\n$Nodeny_dir = \'/usr/local/nodeny\';\n$Lo


Походу здесь ошыбка, больше нигде нет в бекапе строки что в ошыбке.
Делал все строго по мануалу - перепроверял, или пробема в мене и нехватает знаний понять как исправить, или хз.


Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 21 Сентября 2009, 11:28:55
Что значит мы с тебя издевамся?
Цитировать
You have an error in your SQL syntax .....  at line 1
покажи первую строку файла с которого ты восстанавливашься

Первые строки:
Код:
-- MySQL dump 10.13  Distrib 5.1.38, for portbld-freebsd7.2 (amd64)
--
-- Host: localhost    Database: bill
-- ------------------------------------------------------
-- Server version       5.1.38

/*!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' */;


Название: Архив бэкапа и mc
Отправлено: Efendy от 21 Сентября 2009, 12:06:06
базу восстанавливаешь на том же сервере что и бекап делал?
файл копировал на другой сервер?
редактировал?
какие операции с файлом проводил?


Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 21 Сентября 2009, 14:01:16
1. Конешно на том же сервере только в другую БД (test), все делаю по манулу в папке docs/h/work.html

Цитата из мануала по которой строго следовал для создания скрипта, вотсановления и т.д.:
Цитировать
На сервере основной БД создадим скрипт для бекапа:

Команды bash

cd /etc/periodic/weekly/
ee backup_nodeny.sh


Редактирование файла backup_nodeny.sh

#!/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


Запустите на выполнение:

Команды bash

chmod 700 backup_nodeny.sh
./backup_nodeny.sh


и убедитесь, что снимок с базы данных сохранен в файле /var/backups/dd-mm-yyyy.tar.gz.

Комментарий
Поскольку детализация трафика занимает существенные объемы, а по сути - это вторичная информация, то в скрипте указано не бекапить ее.

Не забудьте в скрипте вместо `hardpass` указать свой пароль для пользователе root mysql.
Восстановление БД из бекапа:

Команда bash

server_db#  mysql -p

ввод пароля

Команды mysql

mysql> drop database test;
mysql> create database test;
mysql> use test;
mysql> source bill_dd-mm-yyyy.sql;


Внимание. Перечисленные действия производят следующее:

1) Уничтожают базу данных test (если она существует)
2) Восстанавливают базу данных из файла bill_dd-mm-yyyy.sql

Теперь в настройках биллинга смените имя базы данных на test.

P.S. Скрипт бекапа занесен в периодикли day (каждый день делается), уже есть 3 файла с разными данными БД за 3 дня и у всех такая фигня.
Может при создании таблицы test как в мануале нужно указать кодировку cp1251? Чтоб проблем точно никаких не было? Если да то как ее указать? Вчем же проблема блин...

P.S.S. Базу востанавливаю на там же сервере, никуда ничего не копировал, само собой не редактировал, операций вообще никаких с фалом не проводил кроме роспаковки через mc с тара в *.sql

Да попробуйте у себя, у меня все по ману, 10 раз перепроверил уже, версия 49.27


Название: Архив бэкапа и mc
Отправлено: Efendy от 21 Сентября 2009, 14:44:47
вышли бекап на sbv@ukr.net


Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 21 Сентября 2009, 15:09:22
Отослал с темой Скрипты Бэкапа, жду ответа.


Название: Архив бэкапа и mc
Отправлено: Efendy от 21 Сентября 2009, 15:34:46
файл поврежден. Восстановиться с него не получится. Места на диске вероятно нет, вот он и не записался полностью


Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 21 Сентября 2009, 16:18:36
Цитировать
[root@bill /home/maf]# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad4s1a    1.9G    259M    1.5G    14%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad4s1e    2.9G    1.2M    2.7G     0%    /tmp
/dev/ad4s1f     11G    1.9G    8.4G    19%    /usr
/dev/ad4s1d     48G    1.1G     43G     3%    /var
devfs          1.0K    1.0K      0B   100%    /var/named/dev

но места в var/backups полно!!! может что-то со скриптом бекапа? Используется тот что писал выше, из мануала.

Блин, в чем же дело? Что еще показать?

Даю листинг скрипта бекапа:
Цитировать
#!/bin/sh
passwd_root_mysql='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

Даже не знаю что делать...

P.S. И ошыбок никаких нет, ни в логах ни где то еще...


Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 22 Сентября 2009, 07:44:37
Ну так что? Есть какие нибудь соображения? Сейчас переставляю FreeBSD и установлю билинг заново и попробую.
Но если есть идеи - пишыте. Тут или проблема в скрипте что сохраняет, или х.з.


Название: Архив бэкапа и mc
Отправлено: versus от 22 Сентября 2009, 08:55:16
Какие могут быть соображения если файл который ты прислал поврежден? это говорит о том что у тебя где то проблема с самим файлом
Скрипты бэкапа работают на достаточно многих системах > 10  проверенны не месяцем работы а годом, неужели никто из нас бы не заметил данной проблемы ?? А переставлять фрю по любому поводу это по взрослому, как завещал дедушка Гейтс )))


Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 22 Сентября 2009, 10:50:01
Да я просто експерементировал немного, решил поставить чистую фрю и попробывать сначала, а вдруг что нить не то.

А какие причины могут быть повреженного файла? Распаковывал его через MC, не командой тара, может при распаковке какие нить траблы возникли? Могу архивный файл который точ в точе делает скрипт прислать.

Просто не понимаю в чем дело, судя по всему вы также не знаете. Хм, попробую еще раз и отпишуся + распакую стандартным таром.


Название: Архив бэкапа и mc
Отправлено: versus от 22 Сентября 2009, 11:11:30
Присылать надо ровно то, что просят в данном случае файл который создается программой ! если вы делали что то с архивом, то причем тут скрипт бэкапа?


Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 22 Сентября 2009, 13:42:34
Вы извините, просили прислать файл бекапа, я и прислал, только роспакованый sql.

Проблема решена! Оказывается mc-light неправильно роспаковывает файл сжатый таром!!!!! Если распаковать mc-light - база не востанавливается, если напряму таром, а именно командой tar -xf - все работает!!!

Рекомендую в FAQ занести по бекапу что такое может быть, чтоб другие не мучались. С уважением.


Название: Архив бэкапа и mc
Отправлено: goletsa от 23 Сентября 2009, 05:37:29
Ъ админы не делают себе послаблений в виде mc :)


Название: Архив бэкапа и mc
Отправлено: Александр (AleksHr) от 23 Сентября 2009, 06:50:16
Ъ админы не делают себе послаблений в виде mc :)


Начинающие - еще как делают, не надо так говорить, здесь очень много начинающих.


Название: Архив бэкапа и mc
Отправлено: Cell от 23 Сентября 2009, 06:54:44
Ъ админы не делают себе послаблений в виде mc :)

что за бред вы тут говорите? с какого это перепуга я должен от mc отказываться?


Название: Re: Архив бэкапа и mc
Отправлено: boomer666 от 13 Декабря 2010, 12:18:02
Была такая проблемы!решил точно распаковал таром


MC - рулит)


Название: Re: Архив бэкапа и mc
Отправлено: Elisium от 13 Декабря 2010, 16:40:01
Может стоило обновить порты и пересобрать последнюю версию мс-лайта ?
Или тогда уж просто мс.
С мс лично я никаких проблем при распаковке не видел ни разу.