fabric
オンラインドキュメント
https://pypi.org/project/fabric/
インストール
pip install fabric |
1 |
環境の準備
OpenSSH をインストール、サーバの起動を行う。
使い方
以下の内容で fabric_sample1_win-open-ssh.py を作成する。
from fabric import Connection |
co = Connection("user1@192.168.10.10", connect_kwargs = { "password": "????????" }) |
result = co.run("VER", hide=True) |
print( "{0.stdout}".format(result) ) |
co.close() |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
コマンドプロンプトで python fabric_sample1_win-open-ssh.py を実行する。
以下の内容で fabric_sample2_win-open-ssh.py を作成する。
from fabric import Connection |
import invoke |
def print_result(result) : |
result_stdout_msg = "{0.stdout}".format(result) |
if len(result_stdout_msg) != 0 : |
print(result_stdout_msg) |
result_stderr_msg = "{0.stderr}".format(result) |
if len(result_stderr_msg) != 0 : |
print(result_stderr_msg) |
co = Connection("user1@192.168.10.10", connect_kwargs = { "password": "????????" }) |
print("> chdir") |
result = co.run("chdir", hide=True) |
print_result(result) |
print("> mkdir opt") |
try : |
result = co.run("mkdir opt", hide=True) |
except invoke.exceptions.UnexpectedExit: |
# 既にディレクトリが存在している場合、この例外が発生する。 |
pass |
# ファイルを転送 |
print('> put("./fabric_sample1_win-open-ssh.py", remote="opt/fabric_sample1_win-open-ssh.py")') |
result = co.put("./fabric_sample1_win-open-ssh.py", remote="opt/fabric_sample1_win-open-ssh.py") |
print(result) |
print("> dir opt") |
result = co.run("dir opt", hide=True) |
print_result(result) |
co.close() |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
コマンドプロンプトで python fabric_sample2_win-open-ssh.py を実行する。