Задача тривиальна, выполняется ежедневно и порядком поднадоела:
с локальной машины захожу по ssh на шлюз, оттуда еще раз по ssh на клиентский комп, делаю дамп базы и скачиваю себе на машину, затем заливаю дамп к себе на локальную базу. Если говорить отдельными командами получаю:
ssh user@host
ssh user2@host2
mysqldump -u user -p database > database.sql
затем через mc заливаю себе файл
после
mysql -u user -p localdb < database.sql
получается долговато... Подскажите, как написать скрипт который бы все автоматизировал
как написать свой скрипт (для выполнения нескольких действий)
Модератор: Bizdelnick
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: как написать свой скрипт
Использовать для SSH аутентификацию по ключам, вместо парольной, использовать scp или sftp для копирования файла с/на удалённый хост, при вызове ssh сразу указывать какую команду надо выполнить - т.е., например, "ssh <user@host> mysqldump". В итоге можно полностью обойтись без ввода паролей, при условии надёжной защиты ключей и защиты кода скрипта (в котором может быть указан открытый пароль для удалённого MySQL).
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: как написать свой скрипт
P.S.: теоретически можно обойтись и подобным: "ssh -i my_private_key mysqldump -u user --password=PASSWORD | mysql -u localuser --password=PASSWORD".