| 
			| 
					
						| 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/shPATH=/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/shPATH=/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/shPATH=/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 ? )) |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	|  |