Форум сайта python.su
Нужно скопировать базу с удаленного хоста. Доступ есть по ssh. как сделать через ssh. нужно написать такой скрипт, который бы с локальной машины заходил через ssh на сервак, копировал базу, потом выходил из коннекта и с делал копию полученного дампа базы через команду scp.
т.е. просто несколько строчек в shell. как их запихнуть в скрипт ?
я тут с subpocess мучаюсь, но пока что-то даже не знаю куда копать.
вот, научился поднимать ssh коннект через Popen.
t=subprocess.Popen([ssh root@ip, shell=true]),
mysql -u root -p base>/dir/damp
Офлайн
Можно сделать попроще - запустить команду через ssh без захода на удаленную машину: http://www.py-my.ru/post/4da3e5741d41c87185000007
так же по пути можно зажать данные gzip'ом
так же тут понадобится без парольная авторизация по ssh: http://www.py-my.ru/post/4c063a5f1d41c867ae000000
если нужен запуск из питона: http://www.py-my.ru/post/4bfb3c691d41c846bc000061
Офлайн
О, спасибо за материал !!!
еще вопрос по subprocess.
как сделать что-то в рамках запущенного субпроцесса, к примеру субпроцесс открывает что-то, что требует ввода пользователя, как ввести данные при этом ?
Отредактировано yiooxir (Сен. 20, 2013 12:47:04)
Офлайн
вот примеры: http://stackoverflow.com/questions/1595492/blocks-send-input-to-python-subprocess-pipeline
http://stackoverflow.com/questions/8475290/how-do-i-write-to-a-python-subprocess-stdin
pexpect - управление, ввод/вывод : http://www.py-my.ru/post/4bfb3c691d41c846bc000047
paramiko - тоже самое но специально для ssh: https://github.com/paramiko/paramiko
Офлайн
o7412369815963нужно помнить, что на сервере у папки .ssh и файлов в ней должны стоять специальные права
так же тут понадобится без парольная авторизация по ssh:
Офлайн