はじめまして、これがteratail への初投稿です、早速。。
###前提・実現したいこと
- MySQLをDUMPしたい
ただし、phpMyAdmin 経由
SSHは使えない環境(レンタルサーバ等) - Pythonに入門したい(した)
具体的にしたいことをまとめると
- 仕事で利用しているX2サーバのデータベースのバックアップをコンソール経由で実行したい
- 1.ができればやがてそれを定期実行させたい
###発生している問題・状態エラーメッセージ
- 何から手を付けていいのか分からない
###試したこと
- Python3をMacへインストールした
- https://github.com/furyutei/load_sqldump を試用中@2016-06-23 22:48
- PythonでHTTPを上手に扱う何か検索 @2016-06-23 23:17
http://pycurl.io/
https://github.com/jkbrzt/httpie
hoge.py
1>>>import requests 2>>>from requests.auth import HTTPBasicAuth 3 4>>>r = requests.Session() 5>>>r.get('https://{{DATABASE_URL}}/phpmyadmin/', auth=HTTPBasicAuth('{{USER}}', '{{PASSWD}}')) 6<requests.sessions.Session object at 0x104ed69d0> 7
###想定ロジック
- トップページへアクセス(BASIC認証)
- "Response"内のある"token"の値を取得する
- DB名(既知),token値を用いてPOST用URLを生成
- POSTに用いるデータ(既知)を生成
- POST リクエストし、結果(*.sql)を取得
これじゃだめですか?
http://www.xtwo.ne.jp/service/service_backup.php
情報ありがとうございます。
このサービス自体認識していなかったのですが、任意のタイミングで任意の場所にファイルとして積み上げていきたいのです。。
Mac上のpythonでブラウザを操作し、phpMyAdminを動かして、データをdumpしたいということでしょうか?
@lightson さん
いえ、ブラウザを経由せずに、コマンドベースでphpMyAdmin とやりとりし、データベースをdump したいところです。
phpMyAdmin はWEBベースのアプリだと思うのですが、コマンドベースというのは、pythonのhttpプロトコルクライアントを使ってということですか? http://docs.python.jp/3/library/http.client.html
仰るとおりです。pythonを使ってhttpでphpMyAdminとお話して、session や token やらを適切に扱って最終 `curl -X POST ~~` みたいなのを実行すればsqlが返ってくる、筈と想定してます
失礼しました、もう試してますね
いえいえ、こうして提案していただけることが嬉し楽しいですのでw
というか、BASIC認証版を試行せど、うまく動かないのですよ、これ・それ。