goletsa
NoDeny
Спец
Карма: 21
Offline
Сообщений: 973
|
|
« Ответ #30 : 26 Января 2010, 18:07:58 » |
|
Посылая человека в гугл, вы посылаете его на другие форумы, обитатели которых в свое время не посчитали для себя унизительным ответить на вопрос новичка. Согласитесь, что ответы в гугле не берутся из воздуха Первоначально ответы появляются в руководствах которые мало кто читает.
|
|
|
Записан
|
|
|
|
evp
NoDeny
Постоялец
Карма: -6
Offline
Сообщений: 113
|
|
« Ответ #31 : 26 Января 2010, 18:33:49 » |
|
Некоторые руководства написаны настолько отвратно, что ответа там не найти.
К тому же многие из них на непонятном языке, не родном. Это не повод отправлять учить язык, к примеру.
|
|
« Последнее редактирование: 26 Января 2010, 18:35:55 от evp »
|
Записан
|
|
|
|
killall
NoDeny
Пользователь
Карма: 2
Offline
Сообщений: 29
Торент-трекер без рейтинга Reliz.org.ua
|
|
« Ответ #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
|
|
« Ответ #33 : 11 Февраля 2010, 14:20:35 » |
|
а в пароле есть символ кавычек?
|
|
|
Записан
|
|
|
|
killall
NoDeny
Пользователь
Карма: 2
Offline
Сообщений: 29
Торент-трекер без рейтинга Reliz.org.ua
|
|
« Ответ #34 : 11 Февраля 2010, 16:40:50 » |
|
а в пароле есть символ кавычек?
ковычек нет но еть пробелы
|
|
|
Записан
|
Торент-трекер без рейтинга Reliz.org.ua
|
|
|
Efendy
|
|
« Ответ #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
|
|
« Ответ #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
Сообщений: 56
|
|
« Ответ #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
Сообщений: 1323
|
|
« Ответ #38 : 06 Августа 2010, 12:04:50 » |
|
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) В чем может быть проблема?
в не умении читать запрещен доступ для root с локал хоста пароль смотри
|
|
|
Записан
|
|
|
|
leliksan
NoDeny
Пользователь
Карма: 0
Offline
Сообщений: 56
|
|
« Ответ #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
Сообщений: 56
|
|
« Ответ #40 : 06 Августа 2010, 14:10:31 » |
|
в не умении читать запрещен доступ для root с локал хоста
пароль смотри
Читать умею, в том то и дело было что пароль верный (уже думал что с ума схожу в ПХПадмине входит), когда выполнял кусками в консоли - все отрабатывало, а скрипт сыпался вобщем проверка /tmp/tmpbackup показала что в команду не вставляются пути к мускулю и его дампу, почему пока не разбирался прописал принудительно пусть так работает
|
|
|
Записан
|
|
|
|
Elisium
NoDeny
Старожил
Карма: 19
Offline
Сообщений: 360
На форумах "спасибом" называется плюс к карме.
|
|
« Ответ #41 : 06 Августа 2010, 20:23:11 » |
|
... показала что в команду не вставляются пути к мускулю и его дампу, почему пока не разбирался ...
Потому что в crontabе этих путей НЕТ. Допишите нужные пути в 6ю строку PATH=... и будет Вам счастие )) Ну, или тулите везде абсолютные пути.
|
|
|
Записан
|
|
|
|
leliksan
NoDeny
Пользователь
Карма: 0
Offline
Сообщений: 56
|
|
« Ответ #42 : 07 Августа 2010, 09:41:33 » |
|
Потому что в crontabе этих путей НЕТ. Допишите нужные пути в 6ю строку PATH=... и будет Вам счастие )) Ну, или тулите везде абсолютные пути.
Спасибо. Пока оставлю абсолютные, добавил в скрипт копирование бэкапов на удаленный сервант, теперь осталось восстановление проверить работает ли.
|
|
|
Записан
|
|
|
|
demon4ik
|
|
« Ответ #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
Сообщений: 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 ? ))
|
|
|
Записан
|
|
|
|
|