ファブリックのようなホスト管理プログラムの開発:
1. プログラムを実行して、ホスト グループまたはホスト リストを表示します。
2. 指定したホストまたはホスト グループを選択します。
3. ホストまたはホスト グループにコマンドを実行させるか、ファイルを転送するかを選択します。それ (アップロード/ダウンロード)
4. マルチスレッドまたはマルチプロセスを最大限に活用します
5. 異なるホストのユーザー名、パスワード、ポートは異なる場合があります
README
类 Fabric 主机管理程序 执行命令(SSH) 向其传输文件(上传/下载) Fabric/#程序目录 |- - -__init__.py |- - -bin/#启动目录 | |- - -__init__.py | |- - -Fabric_start.py#视图启动 | |- - -user_reg.py#主机添加启动 | |- - -cfg/#配置目录 | |- - -__init__.py | |- - -config.py#配置文件 | |- - -core/#下载文件目录 | |- - -__init__.py | |- - -main.py#主要逻辑 类 | |- - -db/#主机列表文件目录 | |- - - | |- - -get_file/#下载文件目录 | | |- - -put_file/#上传文件目录 |- - -REDMAE
Fabric/#程序目录 |- - -__init__.py |- - -bin/#启动目录 | |- - -__init__.py | |- - -Fabric_start.py#视图启动
1 import configparser2 import os ,sys3 BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))#获取相对路径转为绝对路径赋于变量4 sys.path.append(BASE_DIR)#增加环境变量5 from core.main import loging6 if __name__ == '__main__':7 8 loging()
| |- - -user_reg.py#主机添加启动
1 #!usr/bin/env python 2 #-*-coding:utf-8-*- 3 # Author calmyan 4 5 import configparser 6 import os ,sys 7 BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))#获取相对路径转为绝对路径赋于变量 8 sys.path.append(BASE_DIR)#增加环境变量 9 from cfg import config10 #修改个信息 磁盘大小11 def set_info(gr_name,addse,name,pwd,ports):12 config_info=configparser.ConfigParser()#读数据13 file_dir='%s%s'%(config.AUTH_FILE,gr_name)#主机组用户名密码文件路径14 15 config_info[addse]={}#ip 主机16 config_info.set(addse,config.USER,name)#用户17 config_info.set(addse,config.PWD,pwd)#密码18 config_info.set(addse,config.PORTS,ports)#端口19 with open(file_dir,'a') as f:20 config_info.write(f)#写入文件21 #config_info.write(open(file_dir,'a'))#写入文件22 print('创建完成'.center(60,'='))23 print('组:【%s】\nIP:[%s]\n用户名:[%s]\n密码:[%s]\n端口:[%s]'%(gr_name,addse,name,pwd,ports))24 25 if __name__ == '__main__':26 gr_name=input('组名:')#组27 addse=input('IP地址:')#ip地址28 name=input('用户名:')#用户29 pwd=input('密码:')#密码30 ports=input('端口:')#端口31 32 set_info(gr_name,addse,name,pwd,ports)
|- - -cfg/#配置目录 | |- - -__init__.py |- - -config.py#配置文件
1 #!usr/bin/env python 2 #-*-coding:utf-8-*- 3 # Author calmyan 4 5 import configparser 6 import os ,sys 7 BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))#获取相对路径转为绝对路径赋于变量 8 sys.path.append(BASE_DIR)#增加环境变量 9 10 AUTH_FILE='%s/db/'%BASE_DIR#主机组 信息用户名密码文件路径11 FILE_DIR='%s/put_file'%BASE_DIR#要上传文件所在的目录12 GET_FILE_DIR='%s/get_file'%BASE_DIR#要上传文件所在的目录13 #print(AUTH_FILE)14 PWD='pwd'#密码15 USER='user'16 PORTS='ports'17 INST_LIST=['put','get']#指令列表18 19 PUT='put'20 GET='get'
|- - -core/#下载文件目录 | |- - -__init__.py | |- - -main.py#主要逻辑 类
以上がファブリックのようなホスト管理プログラムの開発に関する例を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。