Master-X
Форум | Новости | Статьи
Главная » Форум » Хостинги / Домены / Железо » 
Тема: Как через SSH делать бэкап и востановление всех баз
цитата
14/06/10 в 17:38
 Retox
Без использования mysqldump -udbname -hlocalhost -pdppass dbuser > dbdump.txt
и
mysql -udbname -hlocalhost -pdppass dbuser < dbdump.txt

Может есть команды - что бы все базы сразу бэкапились или придётся все же делать что то типо командного файла.

Все заранее благодарен icon_wink.gif
цитата
14/06/10 в 17:52
 lega_cobra
Как это бекап без команд? А то проще сделать так:

ssh login@host mysqldump -udbname -hlocalhost -pdppass dbuser > dbdump.txt

И бекапишь на свой комп.
цитата
14/06/10 в 18:06
 alex.raven
возьми automysqlbackup. там много настроек разных, но достаточно указать хост / базы / юзернейм и пароль.
цитата
14/06/10 в 18:07
 irel
скриптие примерно такой:

#/bin/sh
BACKUPFILE=backup-`date +%Y-%m-%d`.sql.gz

ssh user@somehost.com "mysqldump -u my_user -pMyp4ssw0rd db_name | gzip > ~/${BACKUPFILE} "
scp user@somehost.com:"~/${BACKUPFILE}" ~/backups/

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

#/bin/sh
BACKUPFILE=~/backups/backup-`date +%Y-%m-%d`.sql.gz

ssh user@somehost.com 'mysqldump -u my_user -pMyp4ssw0rd db_name | gzip' > ~/${BACKUPFILE}

Скрипт можно сохранить под именем ~/scripts/backup_mysql.sh, затем открыть пользовательский файл crontab на редактирование и добавить в конец строчку:

55 23 * * * ~/scripts/backup_mysql.sh

Сохранить файл и выйти из редактора.

Теперь каждый день в 23.55 будет в директории ~/backups будет появляться новый бэкап базы данных.
цитата
14/06/10 в 18:54
 Adrenal1ne
sypex
цитата
14/06/10 в 18:59
 Retox
Парни спасибо за предложенные варианты! Буду разбираться ...
Всех оценил по максимому smail54.gif
цитата
14/06/10 в 19:06
 Retox
Ещё вопросик!
А как без phpMyAdmin и прочих оболочек и панелей администрирования , имея только SSH доступ, вывести список база с сервера и если это возможно посмотреть ещё и таблицы в этих базах ?
цитата
14/06/10 в 19:15
 x123p
Я думаю проще всего глянуть сюда:
http://www.pantz.org/software/mysql/mysqlcommands.html

Не ленитесь пользовать поиск icon_wink.gif
цитата
14/06/10 в 20:05
 Dr.Syshalt
Для тех, кто ленится изучать синтаксис mysql и просто для эстетов, есть navicat, у которого есть фришная лайт-версия. Можно коннектиться к удаленному mysql-серверу через ssh и все, что нужно, там визуально делать. Есть версии для линукса и макос.
цитата
14/06/10 в 21:05
 Noobus Boobus
mysqldump -uusername -ppassword --all-databases > megadump.sql
gzip -S .gz -9 megadump.sql

или просто
aptitide install backup-manager
и в /etc/backup-manager.conf указать
export BM_ARCHIVE_METHOD="mysql"
export BM_MYSQL_DATABASES="__ALL__"
export BM_MYSQL_SAFEDUMPS="true"
export BM_MYSQL_ADMINLOGIN="root" # или сделать специального юзера для быкапа
export BM_MYSQL_ADMINPASS="парольрута"

совсем простой, но чреватый вариант:
# tar czvf mysql.tar.gz /var/lib/mysql

Для списка баз полезны команды типа
show databases;
и show tables; (внутри базы, разумеется)
цитата
14/06/10 в 22:02
 CABMIT
Retox писал:
Ещё вопросик!
А как без phpMyAdmin и прочих оболочек и панелей администрирования , имея только SSH доступ, вывести список база с сервера и если это возможно посмотреть ещё и таблицы в этих базах ?

Код:
SHOW DATABASES;
SHOW TABLES FROM some_db;

Это всё в мускуле, естественно
цитата
14/06/10 в 22:06
 Adrenal1ne
CABMIT писал:
Код:
SHOW DATABASES;
SHOW TABLES FROM some_db;

Это всё в мускуле, естественно

Но по SSH как и хотел TC icon_smile.gif


Эта страница в полной версии