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

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 2 [3] 4 5 6
  Печать  
Автор Тема: Скрипты Бэкапа  (Прочитано 71138 раз)
goletsa
NoDeny
Спец
*

Карма: 21
Offline Offline

Сообщений: 973


Просмотр профиля
« Ответ #30 : 26 Января 2010, 18:07:58 »

Цитировать
Посылая человека в гугл, вы посылаете его на другие форумы, обитатели которых в свое время не посчитали для себя унизительным ответить на вопрос новичка. Согласитесь, что ответы в гугле не берутся из воздуха
Первоначально ответы появляются в руководствах которые мало кто читает.
Записан
evp
NoDeny
Постоялец
*

Карма: -6
Offline Offline

Сообщений: 113


Просмотр профиля
« Ответ #31 : 26 Января 2010, 18:33:49 »

Некоторые руководства написаны настолько отвратно, что ответа там не найти.

К тому же многие из них на непонятном языке, не родном. Это не повод отправлять учить язык, к примеру.
« Последнее редактирование: 26 Января 2010, 18:35:55 от evp » Записан
killall
NoDeny
Пользователь
*

Карма: 2
Offline Offline

Сообщений: 29


Торент-трекер без рейтинга Reliz.org.ua


Просмотр профиля WWW Email
« Ответ #32 : 11 Февраля 2010, 04:39:25 »

Код:
#!/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
Выдает вот такое, как решить?
xargs: unterminated quote
Записан

Торент-трекер без рейтинга Reliz.org.ua
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #33 : 11 Февраля 2010, 14:20:35 »

а в пароле есть символ кавычек?
Записан
killall
NoDeny
Пользователь
*

Карма: 2
Offline Offline

Сообщений: 29


Торент-трекер без рейтинга Reliz.org.ua


Просмотр профиля WWW Email
« Ответ #34 : 11 Февраля 2010, 16:40:50 »

а в пароле есть символ кавычек?
ковычек нет но еть пробелы
Записан

Торент-трекер без рейтинга Reliz.org.ua
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #35 : 11 Февраля 2010, 23:17:10 »

а в пароле есть символ кавычек?
ковычек нет но еть пробелы

да, еще могут кавычки встретиться или иные спецсимволы, тогда лучше все заэкранировать обратными слешами

Код:
#!/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
passwd_root_mysql=`perl -e'require "/usr/local/nodeny/history.nod"; $sql_root_pass=~s/(.)/\\\\$1/g; 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 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 > /tmp/tmpbackup
sh /tmp/tmpbackup
tar -c -z -f ${fl}.tar.gz bill_${fl}.sql
rm -f bill_${fl}.sql
chmod 400 ${fl}.tar.gz

кстати, я полчаса потратил, но так и не смог исполнить без промежуточного файла /tmp/tmpbackup. Вроде тривиальная задача, а sh нивкакую не хотел подсовывать правильное экранированное значение. Уж не баг ли это..
« Последнее редактирование: 11 Февраля 2010, 23:19:56 от Efendy » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #36 : 01 Мая 2010, 23:22:36 »

Более безопасный вариант удаляет из папки tmp промежуточный скрипт, хранящий пароль!

Код:
#!/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
passwd_root_mysql=`perl -e'require "/usr/local/nodeny/history.nod"; $sql_root_pass=~s/(.)/\\\\$1/g; print $sql_root_pass;'`
mysql_cmd=`which mysql` || '/usr/local/bin/mysql'
mysqldump_cmd=`which mysqldump` || '/usr/local/bin/mysqldump'

fl=`date "+%d-%m-%Y"`
cd /var/backups/
echo 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 > /tmp/tmpbackup
sh /tmp/tmpbackup
rm /tmp/tmpbackup
tar -c -z -f ${fl}.tar.gz bill_${fl}.sql
rm -f bill_${fl}.sql
chmod 400 ${fl}.tar.gz
Записан
leliksan
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 56

157876
Просмотр профиля Email
« Ответ #37 : 06 Августа 2010, 11:28:55 »

При использовании получаю
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
-u: not found
xargs: replacements must be a number

В чем может быть проблема?
Записан
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #38 : 06 Августа 2010, 12:04:50 »

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
В чем может быть проблема?

в не умении читать  
запрещен доступ для root с локал хоста

пароль смотри
Записан
leliksan
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 56

157876
Просмотр профиля Email
« Ответ #39 : 06 Августа 2010, 14:05:38 »

При использовании получаю
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
-u: not found
xargs: replacements must be a number

В чем может быть проблема?

Разобрался сам, некорректно отрабатывали
mysql_cmd=`which mysql` || '/usr/local/bin/mysql'
mysqldump_cmd=`which mysqldump` || '/usr/local/bin/mysqldump'
Пока что заменил на и все заработало
mysql_cmd='/usr/local/bin/mysql'
mysqldump_cmd='/usr/local/bin/mysqldump'
Записан
leliksan
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 56

157876
Просмотр профиля Email
« Ответ #40 : 06 Августа 2010, 14:10:31 »

Цитировать
в не умении читать  
запрещен доступ для root с локал хоста

пароль смотри
Читать умею, в том то и дело было что пароль верный (уже думал что с ума схожу в ПХПадмине входит), когда выполнял кусками в консоли - все отрабатывало, а скрипт сыпался Грустный вобщем проверка /tmp/tmpbackup показала что в команду не вставляются пути к мускулю и его дампу, почему пока не разбирался прописал принудительно пусть так работает Улыбающийся
Записан
Elisium
NoDeny
Старожил
*

Карма: 19
Offline Offline

Сообщений: 360


На форумах "спасибом" называется плюс к карме.


Просмотр профиля
« Ответ #41 : 06 Августа 2010, 20:23:11 »

... показала что в команду не вставляются пути к мускулю и его дампу, почему пока не разбирался ...

Потому что в crontabе этих путей НЕТ.
Допишите нужные пути в 6ю строку PATH=... и будет Вам счастие ))
Ну, или тулите везде абсолютные пути.
Записан
leliksan
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 56

157876
Просмотр профиля Email
« Ответ #42 : 07 Августа 2010, 09:41:33 »

Потому что в crontabе этих путей НЕТ.
Допишите нужные пути в 6ю строку PATH=... и будет Вам счастие ))
Ну, или тулите везде абсолютные пути.
Спасибо. Пока оставлю абсолютные, добавил в скрипт копирование бэкапов на удаленный сервант, теперь осталось восстановление проверить работает ли.
Записан
demon4ik
Пользователь
**

Карма: -2
Offline Offline

Сообщений: 10


Просмотр профиля Email
« Ответ #43 : 14 Октября 2010, 11:56:25 »

При бекапе в таблицу Test  выдает такую ошибку:
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 '' at line 1
 Как устранить?
« Последнее редактирование: 14 Октября 2010, 12:02:52 от demon4ik » Записан
Elisium
NoDeny
Старожил
*

Карма: 19
Offline Offline

Сообщений: 360


На форумах "спасибом" называется плюс к карме.


Просмотр профиля
« Ответ #44 : 14 Октября 2010, 12:10:53 »

При бекапе в таблицу Test  выдает такую ошибку:
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 '' at line 1
 Как устранить?

Это при РАЗВОРАЧИВАНИИ бакапа ?
Мускуль версии 5.5.5 ? ))
Записан
Страниц: 1 2 [3] 4 5 6
  Печать  
 
Перейти в:  

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