Скрипт бэкапа все баз mysql и закачки их на FTP
Рубрика: Backup
Метки: Backup | FTP | MySQL | скрипты
Четверг, 12 февраля 2009 г.
Просмотров: 20591
Подписаться на комментарии по RSS
Метки: Backup | FTP | MySQL | скрипты
Четверг, 12 февраля 2009 г.
Просмотров: 20591
Подписаться на комментарии по RSS
В данной заметке я публикую довольно простой, но тем не менее весьма полезный скрипт, который делает бэкап всех баз mysql, архивирует их и закачивает на указанный FTP.
Скрипт
<span style="color: #666666; font-style: italic;">#!/bin/sh</span> <span style="color: #666666; font-style: italic;"># System + MySQL backup script</span> <span style="color: #666666; font-style: italic;"># </span><span style="color: #666666; font-style: italic;"># ---------------------------------------------------------------------</span> <span style="color: #666666; font-style: italic;">#########################</span> <span style="color: #666666; font-style: italic;">######TO BE MODIFIED#####</span> <span style="color: #666666; font-style: italic;">### System Setup ###</span> <span style="color: #007800;">BACKUP</span>=<span style="color: #000000; font-weight: bold;">/</span>root <span style="color: #666666; font-style: italic;">### Настройка Mysql ###</span> <span style="color: #007800;">MUSER</span>=<span style="color: #ff0000;">"DBUSER"</span> <span style="color: #007800;">MPASS</span>=<span style="color: #ff0000;">"DBPASSWORD"</span> <span style="color: #007800;">MHOST</span>=<span style="color: #ff0000;">"localhost"</span> <span style="color: #666666; font-style: italic;">### Настройки FTP ###</span> <span style="color: #007800;">FTPD</span>=<span style="color: #ff0000;">"/"</span> <span style="color: #007800;">FTPU</span>=<span style="color: #ff0000;">"FTPUSER"</span> <span style="color: #007800;">FTPP</span>=<span style="color: #ff0000;">"FTPPASSWORD"</span> <span style="color: #007800;">FTPS</span>=<span style="color: #ff0000;">"FTPADDRESS"</span> <span style="color: #666666; font-style: italic;">#########################################</span> <span style="color: #666666; font-style: italic;">### Binaries ###</span> <span style="color: #007800;">TAR</span>=<span style="color: #ff0000;">"$(which tar)"</span> <span style="color: #007800;">GZIP</span>=<span style="color: #ff0000;">"$(which gzip)"</span> <span style="color: #007800;">FTP</span>=<span style="color: #ff0000;">"$(which ftp)"</span> <span style="color: #007800;">MYSQL</span>=<span style="color: #ff0000;">"$(which mysql)"</span> <span style="color: #007800;">MYSQLDUMP</span>=<span style="color: #ff0000;">"$(which mysqldump)"</span> <span style="color: #666666; font-style: italic;">### Today + hour in 24h format ###</span> <span style="color: #007800;">NOW</span>=$<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #ff0000;">"%a%H"</span><span style="color: #7a0874; font-weight: bold;">)</span> <span style="color: #666666; font-style: italic;">### Create hourly dir ###</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$BACKUP</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$NOW</span> <span style="color: #666666; font-style: italic;">### Получаем имена всех баз Mysql ###</span> <span style="color: #007800;">DBS</span>=<span style="color: #ff0000;">"$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"</span> <span style="color: #000000; font-weight: bold;">for</span> db <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #007800;">$DBS</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #666666; font-style: italic;">### Создаем директории для каждой базы. Резервное копирование будет происходить в различные каталоги ###</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$BACKUP</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$NOW</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$db</span> <span style="color: #007800;">FILE</span>=<span style="color: #007800;">$BACKUP</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$NOW</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$db</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$db</span>.sql.gz <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$i</span>; <span style="color: #007800;">$MYSQLDUMP</span> <span style="color: #660033;">--add-drop-table</span> <span style="color: #660033;">--allow-keywords</span> <span style="color: #660033;">-q</span> <span style="color: #660033;">-c</span> <span style="color: #660033;">-u</span> <span style="color: #007800;">$MUSER</span> <span style="color: #660033;">-h</span> <span style="color: #007800;">$MHOST</span> -p<span style="color: #007800;">$MPASS</span> <span style="color: #007800;">$db</span> <span style="color: #007800;">$i</span> | <span style="color: #007800;">$GZIP</span> <span style="color: #660033;">-9</span> <span style="color: #000000; font-weight: bold;">></span> <span style="color: #007800;">$FILE</span> <span style="color: #000000; font-weight: bold;">done</span> <span style="color: #666666; font-style: italic;">### Создаем один большой файл для его последующей закачки ###</span> <span style="color: #007800;">ARCHIVE</span>=<span style="color: #007800;">$BACKUP</span><span style="color: #000000; font-weight: bold;">/</span>server1-<span style="color: #007800;">$NOW</span>.tar.gz <span style="color: #007800;">ARCHIVED</span>=<span style="color: #007800;">$BACKUP</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$NOW</span> <span style="color: #007800;">$TAR</span> <span style="color: #660033;">-zcvf</span> <span style="color: #007800;">$ARCHIVE</span> <span style="color: #007800;">$ARCHIVED</span> <span style="color: #666666; font-style: italic;">### Закачиваем на FTP ###</span> <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$BACKUP</span> <span style="color: #007800;">DUMPFILE</span>=server1-<span style="color: #007800;">$NOW</span>.tar.gz <span style="color: #007800;">$FTP</span> <span style="color: #660033;">-n</span> <span style="color: #007800;">$FTPS</span> <span style="color: #000000; font-weight: bold;"><<</span>END_SCRIPT quote USER <span style="color: #007800;">$FTPU</span> quote PASS <span style="color: #007800;">$FTPP</span> <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$FTPD</span> mput <span style="color: #007800;">$DUMPFILE</span> quit END_SCRIPT <span style="color: #666666; font-style: italic;">### Подчищаем за собой ###</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #007800;">$ARCHIVED</span>
Постовой
Тем, у кого впервые появился в доме щенок, можно только позавидовать. Столько радости, веселья приносит с собой собака, верный друг и помощник человека
Еще записи по теме
- Клонируем Linux, используя CloneZilla Server Edition (CloneZilla SE), часть 3
- Клонируем Linux, используя CloneZilla Server Edition (CloneZilla SE), часть 2
- Подключаем внешний USB диск к ESX Server
- Клонируем Linux, используя CloneZilla Server Edition (CloneZilla SE), часть 1
- Резервное копирование LVM XEN DomU
- Восстановление удаленных разделов
- Создание снапшот бэкапов на вашем десктопе с Timevault в Ubuntu 7.10
Комментариев: 7
гениально.
спасибо.
Отлично, но не хватает команды bin перед передачей архива по ftp.
не bin, а binary вот так :
И ещё не забыть вписать между
и Это , чтобы получилось:Что-то глюкнуло, повторю:
И ещё не забыть вписать между cd $FTPD и binary Это prompt, чтобы получилось:
Иначе требует подтверждения, а его не последует и скрипт завершится без заливки на ftp
NOW=$(date +"%a%H")
создает не верную дату создает sat23 ( суббота 23 часа я так понимаю)
freebsd как поправить ?
I took my first loan when I was 20 and this aided my relatives a lot. Nevertheless, I need the short term loan once again.