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

Главная категория => Общий раздел => Тема начата: versus от 31 Июля 2009, 23:01:59



Название: Скрипты Бэкапа
Отправлено: versus от 31 Июля 2009, 23:01:59

Назрела необходимость сделать бэкап удаленный, поэтому частично переношу скрипты из группы в форум, что бы не искать

Спасибо разработчикам

Код:
#!/bin/sh 
passwd_root_mysql='hardpass'
fl=`date "+%d-%m-%Y"`
cd /usr/local/nodeny
echo show tables | mysql -u root \
  --password=${passwd_root_mysql} bill | \
  grep -v '^[stuvxyz]2' | grep -v '^Tables' | \
  xargs mysqldump -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

 
если делается бэкап с удаленной машины по сети
Код:
#!/bin/sh 
user_mysql='root'
passwd_root_mysql='hardpass'
host_mysql='localhost'
fl=`date "+%d-%m-%Y"`
cd /home/backups/bill/
echo show tables | mysql -h ${host_mysql} -u ${user_mysql} --password=$ {passwd_root_mysql} bill | \
  grep -v '^[stuvxyz]2' | grep -v '^Tables' | \
  xargs mysqldump -Q --add-locks -h ${host_mysql} -u ${user_mysql} -- 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
 


Название: Re: Скрипты Бэкапа
Отправлено: Efendy от 01 Августа 2009, 09:34:04
Кстати, кто-нибудь разобрался почему скрипт не работает, если его перенести в /etc/periodic/weekly/?

я было думал, что дело в переменных окружения, да прописал полный путь к mysql (/usr/local/bin/mysql), но это не помогло.

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


Название: Re: Скрипты Бэкапа
Отправлено: elite от 01 Августа 2009, 17:29:59
Кстати, этот скрипт дампит таблицу `traf_info`
Нужна ли она?


Название: Re: Скрипты Бэкапа
Отправлено: Efendy от 02 Августа 2009, 00:19:55
да, думаю ее можно исключить


Название: Re: Скрипты Бэкапа
Отправлено: trio от 02 Августа 2009, 00:35:43
Хотя... я сейчас смотрю, что к mysqldump не прописан полный путь. вероятно дело в нем

/usr/local/bin/mysqldump - Эфект нулевой


Название: Re: Скрипты Бэкапа
Отправлено: Efendy от 06 Августа 2009, 09:12:27
нет, не нулевой. Все работает:

Код:
#!/bin/sh
passwd_root_mysql='hardpass'
fl=`date "+%d-%m-%Y"`
cd /var/backups/
echo show tables | /usr/local/bin/mysql -u root --password=${passwd_root_mysql} bill | \
  grep -v '^[stuvxyz]2' | grep -v '^Tables' | \
  xargs /usr/local/bin/mysqldump -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


Название: Re: Скрипты Бэкапа
Отправлено: Efendy от 06 Августа 2009, 09:18:00
да, traf_info можно не бекапить:

Код:
#!/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} -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


Название: Re: Скрипты Бэкапа
Отправлено: trio от 30 Сентября 2009, 17:39:22
Чтобы не хранить много архивов можно просто старые удалять за ненадобностью оставляя например актуальные архив за последний месяц ( если конечно происходит бэкап ежедневно)
Для это добавляем в конец бэкапа вот такую строчку:

Код:
#!/bin/sh 
user_mysql='root'
passwd_root_mysql='hardpass'
host_mysql='localhost'
fl=`date "+%d-%m-%Y"`
cd /home/backups/bill/
echo show tables | mysql -h ${host_mysql} -u ${user_mysql} --password=$ {passwd_root_mysql} bill | \
  grep -v '^[stuvxyz]2' | grep -v '^Tables' | \
  xargs mysqldump -Q --add-locks -h ${host_mysql} -u ${user_mysql} -- 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

find . -name \*.tar.gz -depth 1   | sort -r | sed 1,31d | xargs rm

удаляет фалы из папки старше 31-го дня.
Получается всегда файлов в папке с бэкапами будет ровно 31 штука ) - тоесть на каждый день по штучке грубо говоря (актуальность бекапов - 1 мес )


Название: Re: Скрипты Бэкапа
Отправлено: Efendy от 10 Октября 2009, 16:38:55
Можно не указывать пароль в скрипте:

Код:
#!/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


Название: Re: Скрипты Бэкапа
Отправлено: Cell от 02 Декабря 2009, 01:15:22

find . -name \*.tar.gz -depth 1   | sort -r | sed 1,31d | xargs rm

удаляет фалы из папки старше 31-го дня.
Получается всегда файлов в папке с бэкапами будет ровно 31 штука ) - тоесть на каждый день по штучке грубо говоря (актуальность бекапов - 1 мес )

мне выражение
find . -name \*.tar.gz -mtime +31 -delete
кажется элегантней: удаляются файлы старше 31 дня без учета их названия, в результате чего получается бекап на 31 день.


Название: Re: Скрипты Бэкапа
Отправлено: olegotek от 23 Января 2010, 02:13:25
Скрипт получился хорош, но помогите пожалуйста запустить восстановление. Выдает ошибку:
mysql> source bill_22-01-2010.sql;
ERROR:
Failed to open file 'bill_22-01-2010.sql', error: 2



Название: Re: Скрипты Бэкапа
Отправлено: olegotek от 23 Января 2010, 15:46:13
Разобрался. Думаю уместно для новичков, как это и смешно, указать что перед командами восстановления нужно архив распаковать. 10 мин Гугла и находим tar -x -f dd-mm-yyyy.tar.gz


Название: Re: Скрипты Бэкапа
Отправлено: versus от 23 Января 2010, 15:48:17
Я думаю что тебе надо прочитать эту книгу...
http://forum.nodeny.com.ua/index.php?topic=366.msg3393#msg3393


Название: Re: Скрипты Бэкапа
Отправлено: olegotek от 23 Января 2010, 16:07:40
Уважаемый, это уже оскорбление, эта книга написана для вообще неопределенных людей, которые вообще незнают что они хотят. Для меня, управляющего сетью с двух сотен абонентов задача четкая: поставить побыстрее нодени. Я сам, конечно благодаря оперативной техподдержке по скайпу, установил Фряху при том что первый раз ее видел, в том числе и tar.gz. А всю документацию к нодени я виучил почти наизусть. Со временем только наберемся опыта.


Название: Re: Скрипты Бэкапа
Отправлено: goletsa от 23 Января 2010, 16:12:26
Ну очевидно что sql.gz это архивированный файл который мускул несможет захавать.


Название: Re: Скрипты Бэкапа
Отправлено: versus от 23 Января 2010, 21:21:56
Да дядя жмется денег на админа, вот и получаем то что имеем


Название: Re: Скрипты Бэкапа
Отправлено: olegotek от 24 Января 2010, 18:25:01
Летать вверху конечно удобнее всего, а поднять город (40тис) на достойный уровень что-то другое чем прийти и сесть в теплое кресло админа.
PS: В нашем городе четыре человека, которые знают что freebsd


Название: Re: Скрипты Бэкапа
Отправлено: versus от 24 Января 2010, 19:37:26
Информация о FreeBSD  под грифом соврешенно секретно, она отсутсвует в виде любой печатной продукции и передается исключительно из уст в уста, а админы настолько суровые, что им обязательно надо приезжать на место будущего расположения сервера и  выписывают жутчайщые стопитсот тыщ денег за свои услуги.

Зачем себя связывать с такой системой?


Название: Re: Скрипты Бэкапа
Отправлено: olegotek от 24 Января 2010, 20:28:39
Твоему цинизму нет границ, где ты столько злости набрался... со всех "умственно отсталых" делать.


Название: Re: Скрипты Бэкапа
Отправлено: versus от 25 Января 2010, 12:29:59
что-то другое чем прийти и сесть в теплое кресло админа.

В то время когда я начинал строить сеть мне принесли 4 диска с фрей 4.4 дали компьютер и сказали завтра что бы был настроенный роутер, а то фирма сидит без инета. Я до этого фрю вобще не видел. Инет был исключительно подключен к серверу, инфы и мануалов кроме как на дисках не было, а все мои познания в юниксе были ls да cat. С vi выходил через kill -9  да и что такое маршрутизация представлял только по курсу универа. И ничего справился... Перед теплым местом  приходилось и кабеля тягать и клиентов подключать  и в 20 градусном холоде по чердакам лазить и перл осваивать, что бы хоть начальный биллинг построить. Так что прежде чем я получил тепленькое рабочее место не один год прошел и заслуга не в том что админ, а в том что вместо того что бы на форуме кричать вдумчиво читал маны. и не 4 человека в городе  с фрей были, а я один на один с машиной и пачкой дисков.
Дело в голове и в руках.....    


Название: Re: Скрипты Бэкапа
Отправлено: Aivanzipper от 25 Января 2010, 12:35:53
Дело в голове и в руках.....   

Не могу не согласиться - так оно и есть


Название: Re: Скрипты Бэкапа
Отправлено: blackjack от 25 Января 2010, 14:19:14
В то время когда я начинал строить сеть мне принесли 4 диска с фрей 4.4 дали компьютер и сказали завтра что бы был настроенный роутер, а то фирма сидит без инета. Я до этого фрю вобще не видел. Инет был исключительно подключен к серверу, инфы и мануалов кроме как на дисках не было, а все мои познания в юниксе были ls да cat. С vi выходил через kill -9  да и что такое маршрутизация представлял только по курсу универа. И ничего справился... Перед теплым местом  приходилось и кабеля тягать и клиентов подключать  и в 20 градусном холоде по чердакам лазить и перл осваивать, что бы хоть начальный биллинг построить. Так что прежде чем я получил тепленькое рабочее место не один год прошел и заслуга не в том что админ, а в том что вместо того что бы на форуме кричать вдумчиво читал маны. и не 4 человека в городе  с фрей были, а я один на один с машиной и пачкой дисков.
Дело в голове и в руках.....    

лучше не сказать, когда вспоминаеш как приходилось таскать ящики с бытовой техникой, потом ящики с комплектухой компьютерной, потом собирать компы, потом кабеля университетские тягать, потом лаборантом(отвращение до сих пор от самого слова) 4 года простукать .... но слава Богу в универе научили учится, самому тоже многое приходилось допирать.

ПС

Я твердо вірю у талант і я помітив, що більше я працюю, то більше мені таланить (с) Б.Франклін.


Название: Re: Скрипты Бэкапа
Отправлено: poxy. от 25 Января 2010, 14:59:11
что-то другое чем прийти и сесть в теплое кресло админа.

В то время когда я начинал строить сеть мне принесли 4 диска с фрей 4.4 дали компьютер и сказали завтра что бы был настроенный роутер, а то фирма сидит без инета. Я до этого фрю вобще не видел. Инет был исключительно подключен к серверу, инфы и мануалов кроме как на дисках не было, а все мои познания в юниксе были ls да cat. С vi выходил через kill -9  да и что такое маршрутизация представлял только по курсу универа. И ничего справился... Перед теплым местом  приходилось и кабеля тягать и клиентов подключать  и в 20 градусном холоде по чердакам лазить и перл осваивать, что бы хоть начальный биллинг построить. Так что прежде чем я получил тепленькое рабочее место не один год прошел и заслуга не в том что админ, а в том что вместо того что бы на форуме кричать вдумчиво читал маны. и не 4 человека в городе  с фрей были, а я один на один с машиной и пачкой дисков.
Дело в голове и в руках.....    
+1000


Название: Re: Скрипты Бэкапа
Отправлено: olegotek от 25 Января 2010, 16:18:08
Ну так в чем проблема, вы ведь такие же были, и что вам никто ничего не помогал, никогда не поверю. И вообще не пойму в чем проблема? Уже лень написать две строчки и дать ответ на элементарный вопрос, вы же все тут такие умные? А на счет админа, versus, дай мне его и я его возьму, если их так много безработных, и еще - покажи мне хоть одну строчку которую я пропустил в мануале...


Название: Re: Скрипты Бэкапа
Отправлено: Александр (AleksHr) от 25 Января 2010, 16:40:32
Ну так в чем проблема, вы ведь такие же были, и что вам никто ничего не помогал, никогда не поверю. И вообще не пойму в чем проблема? Уже лень написать две строчки и дать ответ на элементарный вопрос, вы же все тут такие умные? А на счет админа, versus, дай мне его и я его возьму, если их так много безработных, и еще - покажи мне хоть одну строчку которую я пропустил в мануале...

Поддержу остальных - мне также никто и ничего не помогал, во всем разбирался сам. Иногда читать мануал нужно больше чам раз или два. Я лично не был знаком со freebsd и линуксами до установки nodeny. Делал строго все по мануалу - все получилося, канешно не с первого раза, но получилося, тогда еще не было форума по nodeny и пришлося самому ).

google рулит


Название: Re: Скрипты Бэкапа
Отправлено: versus от 26 Января 2010, 14:16:17
Ну так в чем проблема, вы ведь такие же были, и что вам никто ничего не помогал, никогда не поверю. И вообще не пойму в чем проблема? Уже лень написать две строчки и дать ответ на элементарный вопрос, вы же все тут такие умные? А на счет админа, versus, дай мне его и я его возьму, если их так много безработных, и еще - покажи мне хоть одну строчку которую я пропустил в мануале...

Дело не в том, что дать ответ на элементарный вопрос и все мы умные. Дело в том, что ты пытаешься выехать не попробовав решить проблему. Наши знания дорого стоят, у меня это 8 лет каждодневной работы, почему я должен делится с тобой теми знаниями, которые я собирал на своих шишках бесплатно? Мало того, как показала практика, почему то человек после получения ответа на свой вопрос начинает задавать вопросы постоянно, видя что можно ускорить процесс настройки и уменьшить время обучения. Почему ваше время дороже моего ???
А админов полно в сети, только денег давать успевай...


Название: Re: Скрипты Бэкапа
Отправлено: olegotek от 26 Января 2010, 14:52:12
Ну так в чем проблема, вы ведь такие же были, и что вам никто ничего не помогал, никогда не поверю. И вообще не пойму в чем проблема? Уже лень написать две строчки и дать ответ на элементарный вопрос, вы же все тут такие умные? А на счет админа, versus, дай мне его и я его возьму, если их так много безработных, и еще - покажи мне хоть одну строчку которую я пропустил в мануале...
Дело не в том, что дать ответ на элементарный вопрос и все мы умные. Дело в том, что ты пытаешься выехать не попробовав решить проблему. Наши знания дорого стоят, у меня это 8 лет каждодневной работы, почему я должен делится с тобой теми знаниями, которые я собирал на своих шишках бесплатно? Мало того, как показала практика, почему то человек после получения ответа на свой вопрос начинает задавать вопросы постоянно, видя что можно ускорить процесс настройки и уменьшить время обучения. Почему ваше время дороже моего ???
А админов полно в сети, только денег давать успевай...
Причем здесь в сети, админ нужен на месте и постоянно - тогда он админ, и ты это прекрасно знаешь, поэтому приходится учится самому а потом учить админа который придет на роботу, по крайней мере в нашем городе всегда так было с современными профессиями, это почти проклятие провинциальных городов - все кто что-то стоит уезжают в большие города на высоко оплачиваемую работу, и приходится разгребать все самому.
А если уж так вам тяжело помочь начинающему то можно просто сказать иди в гугл, а не нагло грубить и оскорблять, или скажи - эта информация/работа стоит столько-то. И все точка на этом, тебе все-равно ничего никто никогда не сможет доказать.
Но, Валентин заметь, не все такие, есть еще люди, которым приятно иметь сто друзей а не сто рублей.


Название: Re: Скрипты Бэкапа
Отправлено: versus от 26 Января 2010, 15:28:06
Причем здесь в сети, админ нужен на месте и постоянно - тогда он админ, и ты это прекрасно знаешь, поэтому приходится учится самому а потом учить админа который придет на роботу, по крайней мере в нашем городе всегда так было с современными профессиями, это почти проклятие провинциальных городов - все кто что-то стоит уезжают в большие города на высоко оплачиваемую работу, и приходится разгребать все самому.
А если уж так вам тяжело помочь начинающему то можно просто сказать иди в гугл, а не нагло грубить и оскорблять, или скажи - эта информация/работа стоит столько-то. И все точка на этом, тебе все-равно ничего никто никогда не сможет доказать.
Но, Валентин заметь, не все такие, есть еще люди, которым приятно иметь сто друзей а не сто рублей.

Иметь друзей.... Хм, я не использую дружбу для достижения  своих коммерческих выгод, если это делаете вы то готовьтесь  к "нагло грубить и оскорблять, или скажи - эта информация/работа стоит столько-то".
Есть правило, прежде чем задать вопрос подумай о нем, ведь правильно зхаданный вопрос содержит половину ответа, а это достигается знаниями, знаниями и опытом. Если вам не хочется этим заниматся, то оплатите время того кто в этом разбирался за свой счет. Кто вам мешает поставить зарплату такую же которую админы получают в крупных городах ??
Что вам мешает покупать системы под ключ ?? Что вам мешает оплатить работу консультанта??
Выезжать на "имей сто друзей" ?? А что конкретно вы можете  дать такому "другу" ??


Название: Re: Скрипты Бэкапа
Отправлено: Александр (AleksHr) от 26 Января 2010, 15:50:27
то можно просто сказать иди в гугл, а не нагло грубить и оскорблять...

Иди в гугл, реально, или читай маны NoDeny. Я не считаю себя умным, но я розобрался с помощью мана к NoDeny (80%), остальные 20% непоняток нашел в гугле. И я тебе серйозно - мне никто не помогал, никого просто не было... все равно придется учится рано или позно, так как работа в данной сфере подразумывает постоянные усовершенствования/нововведения. Лутчше начинй сейчас...


Название: Re: Скрипты Бэкапа
Отправлено: evp от 26 Января 2010, 17:23:10
Постойте, зачем наезжать на человека только за то, что он задал вопрос? Разве форумы существуют не для того, чтобы на них спрашивали? Разве они созданы для того, чтобы рассказывать как тяжело было раньше и как хорошо стало сейчас? Если кому-то не хочется отвечать, не отвечайте, только грубить не надо. Может со временем найдется человек, который сможет/захочет дать ответ на вопрос, да только вопроса не найдет под кучей флуда и грубостей. Скажите, разве информационная наполненность форума не состоит из вопросов и ответов на них? Разве это не обязанность модераторов собирать все такие вопросы-ответы в отдельную тему, называемую, обычно ФАК для новичков? Если на все вопросы будут даваться ответы, подобные ответам в этой теме, то информации на форуме будет ноль, а человек будет доставать по аськам/скайпам разработчиков. Неужели вы к этому стремитесь?

Посылая человека в гугл, вы посылаете его на другие форумы, обитатели которых в свое время не посчитали для себя унизительным ответить на вопрос новичка. Согласитесь, что ответы в гугле не берутся из воздуха:)


Название: Re: Скрипты Бэкапа
Отправлено: goletsa от 26 Января 2010, 18:07:58
Цитировать
Посылая человека в гугл, вы посылаете его на другие форумы, обитатели которых в свое время не посчитали для себя унизительным ответить на вопрос новичка. Согласитесь, что ответы в гугле не берутся из воздуха
Первоначально ответы появляются в руководствах которые мало кто читает.


Название: Re: Скрипты Бэкапа
Отправлено: evp от 26 Января 2010, 18:33:49
Некоторые руководства написаны настолько отвратно, что ответа там не найти.

К тому же многие из них на непонятном языке, не родном. Это не повод отправлять учить язык, к примеру.


Название: Re: Скрипты Бэкапа
Отправлено: killall от 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


Название: Re: Скрипты Бэкапа
Отправлено: Efendy от 11 Февраля 2010, 14:20:35
а в пароле есть символ кавычек?


Название: Re: Скрипты Бэкапа
Отправлено: killall от 11 Февраля 2010, 16:40:50
а в пароле есть символ кавычек?
ковычек нет но еть пробелы


Название: Re: Скрипты Бэкапа
Отправлено: Efendy от 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 нивкакую не хотел подсовывать правильное экранированное значение. Уж не баг ли это..


Название: Re: Скрипты Бэкапа
Отправлено: Efendy от 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


Название: Re: Скрипты Бэкапа
Отправлено: leliksan от 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

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


Название: Re: Скрипты Бэкапа
Отправлено: ser970 от 06 Августа 2010, 12:04:50
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
В чем может быть проблема?

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

пароль смотри


Название: Re: Скрипты Бэкапа
Отправлено: leliksan от 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'


Название: Re: Скрипты Бэкапа
Отправлено: leliksan от 06 Августа 2010, 14:10:31
Цитировать
в не умении читать  
запрещен доступ для root с локал хоста

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


Название: Re: Скрипты Бэкапа
Отправлено: Elisium от 06 Августа 2010, 20:23:11
... показала что в команду не вставляются пути к мускулю и его дампу, почему пока не разбирался ...

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


Название: Re: Скрипты Бэкапа
Отправлено: leliksan от 07 Августа 2010, 09:41:33
Потому что в crontabе этих путей НЕТ.
Допишите нужные пути в 6ю строку PATH=... и будет Вам счастие ))
Ну, или тулите везде абсолютные пути.
Спасибо. Пока оставлю абсолютные, добавил в скрипт копирование бэкапов на удаленный сервант, теперь осталось восстановление проверить работает ли.


Название: Re: Скрипты Бэкапа
Отправлено: demon4ik от 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
 Как устранить?


Название: Re: Скрипты Бэкапа
Отправлено: Elisium от 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 ? ))


Название: Re: Скрипты Бэкапа
Отправлено: demon4ik от 14 Октября 2010, 12:21:25
Да, при разворачивании бекапа.
мускул 5.0.90,  а нужен 5.5?


Название: Re: Скрипты Бэкапа
Отправлено: Elisium от 14 Октября 2010, 17:33:44
Да нет )
Просто недавно тоже столкнулся с такой ошибкой (с Lexxом при разборе .. ээ .. некоего нюанса)
Бакапы делаю правильно, но в тоже время после их разворота вылазит тоже самое.
Что сделал:
Сравнил таблицу ДО бакапа и УЖЕ развернутую.
Обе оказались одинаковые.
Ошибка ТИПА оказалась в том, что при развороте (ИМХО) както неверно считаются строки и та строка, в которой у меня была ошибка - это номер последней строки бакапа +1, тоесть несуществующая вообще строка.
Вообщем, я на нее забил, так как бакап разворачивается верно.

НО - в Вашем случае пишет ошибку ВООБЩЕ в строке номер ОДИН.
Посмотрите, в sql-вском запросе (в бакапе) есть вообще какие нибуть данные ?
Возможно, просто неверно сделан бакап.


Название: Re: Скрипты Бэкапа
Отправлено: demon4ik от 14 Октября 2010, 20:23:29
В каждом бекапе такое.
часть таблиц извлекается..а потом пишет вот такую ошибку.
  Данные в запросе есть.
Вот первые строки:

DROP TABLE IF EXISTS `admin`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `admin` (
  `id` int(11) NOT NULL auto_increment,
  `office` tinyint(3) unsigned NOT NULL,
  `admin` varchar(16) NOT NULL default '',
  `passwd` varchar(20) NOT NULL default '',
  `session` tinytext NOT NULL,
  `session_expire` int(11) NOT NULL,
  `name` tinytext NOT NULL,
  `post` tinytext NOT NULL,
  `privil` text NOT NULL,
  `regions` text NOT NULL,
  `tunes` text NOT NULL,
  `pay_mess` text NOT NULL,
  `ext` varchar(4) NOT NULL,
  `email` tinytext NOT NULL,
  `email_grp` text NOT NULL,
  `mess` tinytext NOT NULL,
  `temp_block_grp` text NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `admin` (`admin`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=cp1251;
/*!40101 SET character_set_client = @saved_cs_client */;


Название: Re: Скрипты Бэкапа
Отправлено: md5 от 19 Октября 2010, 00:06:03
Я тут ни эрора не вижу ни варнинга!
В чем суть ? конкретнее


Название: Re: Скрипты Бэкапа
Отправлено: demon4ik от 22 Октября 2010, 00:29:58
ошибка описана 3 постами выше


Название: Re: Скрипты Бэкапа
Отправлено: versus от 23 Октября 2010, 10:28:52
А есмли сделать полный бэкап базы средствами самого майскл сервера ? что тогда пишет при восстановлении ??


Название: Re: Скрипты Бэкапа
Отправлено: serojperoj от 02 Апреля 2012, 16:31:19
привет всем.

не подскажете какую строчку добавить с скрипте бэкапа, чтобы сразу после сохранения заодно и отправил на мыло?

заранее спасибо


Название: Re: Скрипты Бэкапа
Отправлено: poxy. от 02 Апреля 2012, 20:21:45
Какого ж размера у вас база, что б отправить прикрепленным файлом?  ;) Лучше на удаленный сервер.


Название: Re: Скрипты Бэкапа
Отправлено: bnet от 03 Апреля 2012, 21:37:48
наверное оповещение о успешном бэкапе на мыло, или сам бэкап О_о


Название: Re: Скрипты Бэкапа
Отправлено: serojperoj от 06 Апреля 2012, 13:44:56
примерно 30мб, не прокатит?  :)


Название: Re: Скрипты Бэкапа
Отправлено: poxy. от 06 Апреля 2012, 16:21:14
Гугл дает 25м для прикрепленного файла, а база та будет расти. У меня в облако ночью сливается.


Название: Re: Скрипты Бэкапа
Отправлено: stix от 06 Апреля 2012, 23:34:48
Гугл дает 25м для прикрепленного файла, а база та будет расти. У меня в облако ночью сливается.
правильное облако или костыльное?


Название: Re: Скрипты Бэкапа
Отправлено: poxy. от 09 Апреля 2012, 16:33:48
Костыльное  ;D, скриптами в дропбокс.


Название: Re: Скрипты Бэкапа
Отправлено: ale-x от 10 Апреля 2012, 01:39:35
поделитесь скриптегом :)


Название: Re: Скрипты Бэкапа
Отправлено: stix от 10 Апреля 2012, 10:22:53
с паролями
Код:
#!/bin/bash
DROPBOX_USER="Your Dropbox username"
DROPBOX_PASS="Your Dropbox password"
DROPBOX_DIR="Directory in your dropbox account to store the backups, e.g. /backups"
BACKUP_SRC="/home /var/www /var/git /etc /root"
BACKUP_DST="/tmp"
MYSQL_SERVER="127.0.0.1"
MYSQL_USER="root"
MYSQL_PASS="Your MySQL password"

#
# Stop editing here.
NOW=$(date +"%Y.%m.%d")
DESTFILE="$BACKUP_DST/$NOW.tgz"

#
# Upload a file to Dropbox.
# $1 = Source file
# $2 = Destination file.
function dropboxUpload
{
#
# Code based on DropBox Uploader 0.6 from http://www.andreafabrizi.it/?dropbox_uploader
LOGIN_URL="https://www.dropbox.com/login"
HOME_URL="https://www.dropbox.com/home"
UPLOAD_URL="https://dl-web.dropbox.com/upload"
COOKIE_FILE="/tmp/du_cookie_$RANDOM"
RESPONSE_FILE="/tmp/du_resp_$RANDOM"

    UPLOAD_FILE=$1
    DEST_FOLDER=$2

# Login
echo -ne " > Logging in..."
curl -s -i -c $COOKIE_FILE -o $RESPONSE_FILE --data "login_email=$DROPBOX_USER&login_password=$DROPBOX_PASS&t=$TOKEN" "$LOGIN_URL"
grep "location: /home" $RESPONSE_FILE > /dev/null

if [ $? -ne 0 ]; then
echo -e " Failed!"
rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
exit 1
else
echo -e " OK"
fi

# Load home page
echo -ne " > Loading Home..."
curl -s -i -b "$COOKIE_FILE" -o "$RESPONSE_FILE" "$HOME_URL"

if [ $? -ne 0 ]; then
echo -e " Failed!"
rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
exit 1
else
echo -e " OK"
fi

# Get token
TOKEN=$(cat "$RESPONSE_FILE" | tr -d '\n' | sed 's/.*<form action="https:\/\/dl-web.dropbox.com\/upload"[^>]*>\s*<input type="hidden" name="t" value="\([a-z 0-9]*\)".*/\1/')

# Upload file
echo -ne " > Uploading '$UPLOAD_FILE' to 'DROPBOX$DEST_FOLDER/'..."
    curl -s -i -b $COOKIE_FILE -o $RESPONSE_FILE -F "plain=yes" -F "dest=$DEST_FOLDER" -F "t=$TOKEN" -F "file=@$UPLOAD_FILE"  "$UPLOAD_URL"
    grep "HTTP/1.1 302 FOUND" "$RESPONSE_FILE" > /dev/null

    if [ $? -ne 0 ]; then
        echo -e " Failed!"
rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
        exit 1
    else
        echo -e " OK"
rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
    fi
}

# Backup files.
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --all-databases > "$NOW-Databases.sql"
tar cfz "$DESTFILE" $BACKUP_SRC "$NOW-Databases.sql"

dropboxUpload "$DESTFILE" "$DROPBOX_DIR"

rm -f "$NOW-Databases.sql" "$DESTFILE"


Название: Re: Скрипты Бэкапа
Отправлено: Crestfallen от 10 Апреля 2012, 13:06:03

Вот спасибо за скрипт ) К сожалению, кармы добавить не могу почему-то, но огромное спасибо )


Название: Re: Скрипты Бэкапа
Отправлено: Cell от 11 Апреля 2012, 09:18:17
Мама....  ::)
а сам друпбокс религия не позволила на сервак поставить? и просто копировать файлы в из каталога в каталог? ))) жесть
ну и зная историю всех глюков друпбокса за историю его существования я бы рекомендовал как минимум шифровать данные, а то может некрасивенько получится.


Название: Re: Скрипты Бэкапа
Отправлено: stix от 11 Апреля 2012, 13:00:34
шифрование однозначно нужно делать


Название: Re: Скрипты Бэкапа
Отправлено: Maks от 21 Апреля 2012, 21:31:32
с паролями
Код:
#!/bin/bash
DROPBOX_USER="Your Dropbox username"
DROPBOX_PASS="Your Dropbox password"
DROPBOX_DIR="Directory in your dropbox account to store the backups, e.g. /backups"
BACKUP_SRC="/home /var/www /var/git /etc /root"
BACKUP_DST="/tmp"
MYSQL_SERVER="127.0.0.1"
MYSQL_USER="root"
MYSQL_PASS="Your MySQL password"

#
# Stop editing here.
NOW=$(date +"%Y.%m.%d")
DESTFILE="$BACKUP_DST/$NOW.tgz"

#
# Upload a file to Dropbox.
# $1 = Source file
# $2 = Destination file.
function dropboxUpload
{
#
# Code based on DropBox Uploader 0.6 from http://www.andreafabrizi.it/?dropbox_uploader
LOGIN_URL="https://www.dropbox.com/login"
HOME_URL="https://www.dropbox.com/home"
UPLOAD_URL="https://dl-web.dropbox.com/upload"
COOKIE_FILE="/tmp/du_cookie_$RANDOM"
RESPONSE_FILE="/tmp/du_resp_$RANDOM"

    UPLOAD_FILE=$1
    DEST_FOLDER=$2

# Login
echo -ne " > Logging in..."
curl -s -i -c $COOKIE_FILE -o $RESPONSE_FILE --data "login_email=$DROPBOX_USER&login_password=$DROPBOX_PASS&t=$TOKEN" "$LOGIN_URL"
grep "location: /home" $RESPONSE_FILE > /dev/null

if [ $? -ne 0 ]; then
echo -e " Failed!"
rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
exit 1
else
echo -e " OK"
fi

# Load home page
echo -ne " > Loading Home..."
curl -s -i -b "$COOKIE_FILE" -o "$RESPONSE_FILE" "$HOME_URL"

if [ $? -ne 0 ]; then
echo -e " Failed!"
rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
exit 1
else
echo -e " OK"
fi

# Get token
TOKEN=$(cat "$RESPONSE_FILE" | tr -d '\n' | sed 's/.*<form action="https:\/\/dl-web.dropbox.com\/upload"[^>]*>\s*<input type="hidden" name="t" value="\([a-z 0-9]*\)".*/\1/')

# Upload file
echo -ne " > Uploading '$UPLOAD_FILE' to 'DROPBOX$DEST_FOLDER/'..."
    curl -s -i -b $COOKIE_FILE -o $RESPONSE_FILE -F "plain=yes" -F "dest=$DEST_FOLDER" -F "t=$TOKEN" -F "file=@$UPLOAD_FILE"  "$UPLOAD_URL"
    grep "HTTP/1.1 302 FOUND" "$RESPONSE_FILE" > /dev/null

    if [ $? -ne 0 ]; then
        echo -e " Failed!"
rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
        exit 1
    else
        echo -e " OK"
rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
    fi
}

# Backup files.
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --all-databases > "$NOW-Databases.sql"
tar cfz "$DESTFILE" $BACKUP_SRC "$NOW-Databases.sql"

dropboxUpload "$DESTFILE" "$DROPBOX_DIR"

rm -f "$NOW-Databases.sql" "$DESTFILE"

А у меня не заработало :(
Код:
alfa# sh test.sh
function: not found
-ne  > Logging in...
 OK
-ne  > Loading Home...
 OK
-ne  > Uploading '' to 'DROPBOX/'...
 Failed!
alfa#


Dropbox Uploader уже  v0.9.4 и не сильно похож на исходный скрипт.
ПОмогите если не сложно.

P.S или как поставить Dropbox на FreeBSD (гугл особо не помог)


Название: Re: Скрипты Бэкапа
Отправлено: Cell от 21 Апреля 2012, 21:40:35

P.S или как поставить Dropbox на FreeBSD (гугл особо не помог)

Ну на фряху я не пробовал, а на лине за милую душу ставится прямо из командной строки. Даже питоновый скрипт для этого дела имеется. https://www.dropbox.com/install?os=lnx - в самом низу страницы


Название: Re: Скрипты Бэкапа
Отправлено: Maks от 21 Апреля 2012, 21:49:25

P.S или как поставить Dropbox на FreeBSD (гугл особо не помог)

Ну на фряху я не пробовал, а на лине за милую душу ставится прямо из командной строки. Даже питоновый скрипт для этого дела имеется. https://www.dropbox.com/install?os=lnx - в самом низу страницы

Пробовал. вот что получил в итоге

Код:
alfa# ~/.dropbox-dist/dropboxd &
[1] 36245
alfa# readlink: illegal option -- f
usage: readlink [-n] [file ...]
usage: dirname string [...]
exec: /dropbox: not found

Python ставил так

Код:
cd /usr/ports/lang/python25
 make install clean
 cd /usr/bin
 ln -s /usr/local/bin/python2.5 python


Название: Re: Скрипты Бэкапа
Отправлено: Cell от 21 Апреля 2012, 22:12:04
Ну написало же что нет бинарника, ежу понятно что не запуститься, скрипт-то это только управление. Нужно попробовать из исходников собрать.


Название: Re: Скрипты Бэкапа
Отправлено: stix от 23 Апреля 2012, 13:31:59
лучше уж на amazon s3


Название: Re: Скрипты Бэкапа
Отправлено: Maks от 04 Мая 2012, 17:50:43
Ну а всетаки подскажите вариант копирование на dropbox . Или намек чего у меня скрипт не заработал.


Название: Re: Скрипты Бэкапа
Отправлено: ale-x от 06 Мая 2012, 00:18:16
Хочу исключить из бэкапа таблицы v2012x... x2012x... и т.п.
Хотел использовать опцию --ignore-table, но не нашел как для нее задать шаблон имени таблиц вида "bill.%201%"
Или может кто подскажет другой способ не бэкапить эти таблицы, при сохранении всех остальных БД?


Название: Re: Скрипты Бэкапа
Отправлено: Maks от 19 Июня 2012, 13:19:20
Вот мой скрипт который делает дамп всех баз, чистит траф инфо, архивирует нужные данные (исключая ненужные), заливая все на удаленный сервак через scp. Все что старше 10 дней удаляется на локальном и удаленном серваке.

Код:
#!/bin/sh
n="dneprolan"
DIR=/home/maks/backup/dneprolan
DATA=`date '+%d.%m.%Y'`
name="backup_${n}_${DATA}"
sb="test.dyndns.tv"
l="root"
cd /root
mysql -u root bill -phardpass < /root/traf_lost.sql
cd /
mysqldump -u root --password='hardpass' -l --all-databases | gzip > db-$DATA.sql.gz
cd $DIR
tar czvf $DIR/$name.tar.gz --exclude='usr/local/www/apache22/data/video/images/*' --exclude='usr/local/www/apache22/data/video/video/images/*'  /etc/* /usr/local/etc/* /var/cron/* /boot/loader.conf /usr/local/www/* /var/named/* /usr/local/nodeny/* /db-$DATA.sql.gz
rm /db-$DATA.sql.gz
scp -P 212 $DIR/$name.tar.gz $l@$sb:$DIR/$name.tar.gz
find $DIR/* -mtime +10 -exec rm {} \;
ssh test.dyndns.tv -p 2222 -l root 'find /home/maks/backup/dneprolan/* -mtime +10 -exec rm {} \;'
exit


Название: Re: Скрипты Бэкапа
Отправлено: stix от 19 Июня 2012, 13:34:57
чуваки, переходите на Amazon Simple Storage Service
для бэкапов это более чем идеально.
я плачу 0.01$ в месяц за бэкапы
кинул пару баксов на счет, до смерти хватит


Название: Re: Скрипты Бэкапа
Отправлено: Андрій от 19 Июня 2012, 15:49:57
Вот мой скрипт который делает дамп всех баз, чистит траф инфо, архивирует нужные данные (исключая ненужные), заливая все на удаленный сервак через scp. Все что старше 10 дней удаляется на локальном и удаленном серваке.

Код:
#!/bin/sh
n="dneprolan"
DIR=/home/maks/backup/dneprolan
DATA=`date '+%d.%m.%Y'`
name="backup_${n}_${DATA}"
sb="test.dyndns.tv"
l="root"
cd /root
mysql -u root bill -phardpass < /root/traf_lost.sql
cd /
mysqldump -u root --password='hardpass' -l --all-databases | gzip > db-$DATA.sql.gz
cd $DIR
tar czvf $DIR/$name.tar.gz --exclude='usr/local/www/apache22/data/video/images/*' --exclude='usr/local/www/apache22/data/video/video/images/*'  /etc/* /usr/local/etc/* /var/cron/* /boot/loader.conf /usr/local/www/* /var/named/* /usr/local/nodeny/* /db-$DATA.sql.gz
rm /db-$DATA.sql.gz
scp -P 212 $DIR/$name.tar.gz $l@$sb:$DIR/$name.tar.gz
find $DIR/* -mtime +10 -exec rm {} \;
ssh test.dyndns.tv -p 2222 -l root 'find /home/maks/backup/dneprolan/* -mtime +10 -exec rm {} \;'
exit

де в цьому скрпипті вказується пароль ssh ?


Название: Re: Скрипты Бэкапа
Отправлено: Maks от 19 Июня 2012, 16:06:36
Вот мой скрипт который делает дамп всех баз, чистит траф инфо, архивирует нужные данные (исключая ненужные), заливая все на удаленный сервак через scp. Все что старше 10 дней удаляется на локальном и удаленном серваке.

Код:
#!/bin/sh
n="dneprolan"
DIR=/home/maks/backup/dneprolan
DATA=`date '+%d.%m.%Y'`
name="backup_${n}_${DATA}"
sb="test.dyndns.tv"
l="root"
cd /root
mysql -u root bill -phardpass < /root/traf_lost.sql
cd /
mysqldump -u root --password='hardpass' -l --all-databases | gzip > db-$DATA.sql.gz
cd $DIR
tar czvf $DIR/$name.tar.gz --exclude='usr/local/www/apache22/data/video/images/*' --exclude='usr/local/www/apache22/data/video/video/images/*'  /etc/* /usr/local/etc/* /var/cron/* /boot/loader.conf /usr/local/www/* /var/named/* /usr/local/nodeny/* /db-$DATA.sql.gz
rm /db-$DATA.sql.gz
scp -P 212 $DIR/$name.tar.gz $l@$sb:$DIR/$name.tar.gz
find $DIR/* -mtime +10 -exec rm {} \;
ssh test.dyndns.tv -p 2222 -l root 'find /home/maks/backup/dneprolan/* -mtime +10 -exec rm {} \;'
exit

де в цьому скрпипті вказується пароль ssh ?


Ниде.
Читай тут http://www.sql.ru/forum/actualthread.aspx?tid=643764


Название: Re: Скрипты Бэкапа
Отправлено: Андрій от 26 Июня 2012, 15:40:32
Вот мой скрипт который делает дамп всех баз, чистит траф инфо, архивирует нужные данные (исключая ненужные), заливая все на удаленный сервак через scp. Все что старше 10 дней удаляется на локальном и удаленном серваке.

Код:
#!/bin/sh
n="dneprolan"
DIR=/home/maks/backup/dneprolan
DATA=`date '+%d.%m.%Y'`
name="backup_${n}_${DATA}"
sb="test.dyndns.tv"
l="root"
cd /root
mysql -u root bill -phardpass < /root/traf_lost.sql
cd /
mysqldump -u root --password='hardpass' -l --all-databases | gzip > db-$DATA.sql.gz
cd $DIR
tar czvf $DIR/$name.tar.gz --exclude='usr/local/www/apache22/data/video/images/*' --exclude='usr/local/www/apache22/data/video/video/images/*'  /etc/* /usr/local/etc/* /var/cron/* /boot/loader.conf /usr/local/www/* /var/named/* /usr/local/nodeny/* /db-$DATA.sql.gz
rm /db-$DATA.sql.gz
scp -P 212 $DIR/$name.tar.gz $l@$sb:$DIR/$name.tar.gz
find $DIR/* -mtime +10 -exec rm {} \;
ssh test.dyndns.tv -p 2222 -l root 'find /home/maks/backup/dneprolan/* -mtime +10 -exec rm {} \;'
exit

Потрібно такий самий скрипт, тільки щоб архіви були зашифровані паролем і бекапи  завантажувалось на сервер через фтп, хтось допоможе ?


Название: Re: Скрипты Бэкапа
Отправлено: Rico-X от 26 Июня 2012, 18:48:12
Для пароля вместо тара заворачиваем в зип
Цитировать
zip -P password zipname filename
По поводу фтп либо http://rus-linux.net/MyLDP/consol/hdrguide/rusman/ftp.htm
либо в тупую используем костыль на базе fuse зовется ftpfs


Название: Re: Скрипты Бэкапа
Отправлено: VitalVas от 30 Июня 2012, 18:30:09
Во время работы с бекапами на разных проектах заметил странную фигню. Иногда данные завернутые в AES криво восстанавливаются. Таблица - utf8_bin, столбец - varbinary

Решается с помощью добавления ключа --hex-blob


Название: Re: Скрипты Бэкапа
Отправлено: ser970 от 30 Июня 2012, 18:43:35
Во время работы с бекапами на разных проектах заметил странную фигню. Иногда данные завернутые в AES криво восстанавливаются. Таблица - utf8_bin, столбец - varbinary

Решается с помощью добавления ключа --hex-blob
а зачем все так ...
дамп архивируется с паролем , архив шифруется скажем алгоритмом , и опять архивируется с паролем.
 
з.ы.для параноии  так не сколько раз по кругу.


Название: Re: Скрипты Бэкапа
Отправлено: VitalVas от 30 Июня 2012, 23:30:10
это не работа с шифрованными архивами, а напряму с мускулем

кажется это тупая ситуация, но импортировать такую строку в упор не хотело
Код:
INSERT INTO `users` VALUES (1,'user1','
                                        x^W     ▒@▒&c(▒t');
а от в таком виде схавало сразу
Код:
INSERT INTO `users` VALUES (1,'user1',0x1B8409785E57091CA240D7266328DB74);


Название: Re: Скрипты Бэкапа
Отправлено: Gray от 21 Декабря 2012, 15:00:53
если делается бэкап с удаленной машины по сети
Код:
#!/bin/sh 
user_mysql='root'
passwd_root_mysql='hardpass'
host_mysql='localhost'
fl=`date "+%d-%m-%Y"`
cd /home/backups/bill/
echo show tables | mysql -h ${host_mysql} -u ${user_mysql} --password=$ {passwd_root_mysql} bill | \
  grep -v '^[stuvxyz]2' | grep -v '^Tables' | \
  xargs mysqldump -Q --add-locks -h ${host_mysql} -u ${user_mysql} -- 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
 

[/quote]

Пробую запустить на локальной машине пишет что пароль неверный, хотя там и супер юзер и пароль верный   :-\ проверяю командой на глюк
Код:
mysql -h yourdomain -u mylogin_user -p mylogin_db
а там всьо хорошо, переношу скрипт в папку с deily в weekly -хм заработало но выдало ошибку  
Код:
xargs: unterminated quote
и создало пустой бекап (, может у кого есть робочий вариант?


Название: Re: Скрипты Бэкапа
Отправлено: stix от 21 Декабря 2012, 15:05:57
#!/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
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 "+%Y-%m-%d"`
cd /usr/backup/nodeny/
echo show tables | ${mysql_cmd} -u root --password=${passwd_root_mysql} bill | grep -v '^[stuvxyz]2' | grep -v 'traf_info' | grep -v '^Tables' | xargs ${mysq
tar -c -z -f nodeny_db_${fl}.tar.gz bill_${fl}.sql
rm -f bill_${fl}.sql
chmod 400 nodeny_db_${fl}.tar.gz
 
#резервная копия файлов биллинга
FILES="/etc /usr/local/etc/ /usr/local/nodeny /var/www/html/nodeny"
NAME=nodeny_files_`/bin/date '+%Y-%m-%d'`
/usr/bin/tar -cPzf /usr/backup/nodeny/${NAME}.tar.gz ${FILES}
 
#ротация файлов бд биллинга
find . -name \*.tar.gz -mtime +31 -delete
 
cd /usr/backup/nodeny;
#отправляем бэкапы на FTP
/usr/local/bin/lftp -u ФТПЛОГИН,ФТППАРОЛЬ ФТПIP -e "mput ${NAME}.tar.gz;quit"
/usr/local/bin/lftp -u ФТПЛОГИН,ФТППАРОЛЬ ФТПIP -e "mput nodeny_db_${fl}.tar.gz;quit"
 
#отправляем бэкапы на AMAZON
/usr/local/nodeny/s3cmd-1.0.1/s3cmd --acl-private --bucket-location=EU --guess-mime-type --delete-removed sync /usr/backup/nodeny s3://billing-backup/billing


Название: Re: Скрипты Бэкапа
Отправлено: Gray от 10 Января 2013, 10:09:03
спасибо за скрипт, лфтп помогло быстро реализовать хотяшку  ;)