|
@@ -187,17 +187,21 @@ def run_command(client, instance_ids, command):
|
|
|
"""
|
|
|
批量执行命令
|
|
|
:param client: 客户端连接
|
|
|
- :param instance_ids: 实例id列表, type-list
|
|
|
+ :param instance_ids: 实例id列表, type-list, 最多能指定50台ECS实例ID
|
|
|
:param command: 命令 type-string
|
|
|
:return:
|
|
|
"""
|
|
|
- request = RunCommandRequest()
|
|
|
- request.set_accept_format('json')
|
|
|
- request.set_Type("RunShellScript")
|
|
|
- request.set_CommandContent(command)
|
|
|
- request.set_InstanceIds(instance_ids)
|
|
|
- response = send_request(client=client, request=request)
|
|
|
- logging.info(response)
|
|
|
+ for i in range(len(instance_ids) // 50 + 1):
|
|
|
+ instance_id_list = instance_ids[i * 50:(i + 1) * 50]
|
|
|
+ if len(instance_id_list) == 0:
|
|
|
+ return
|
|
|
+ request = RunCommandRequest()
|
|
|
+ request.set_accept_format('json')
|
|
|
+ request.set_Type("RunShellScript")
|
|
|
+ request.set_CommandContent(command)
|
|
|
+ request.set_InstanceIds(instance_id_list)
|
|
|
+ response = send_request(client=client, request=request)
|
|
|
+ logging.info(response)
|
|
|
|
|
|
|
|
|
def get_instance_ids(client, slb_id):
|
|
@@ -259,7 +263,7 @@ def send_file_to_ecs(client, instance_id_list, target_dir, name, content):
|
|
|
"""
|
|
|
发送文件到ecs
|
|
|
:param client:
|
|
|
- :param instance_id_list: 取值范围:1-50,最多能指定50台ECS实例ID
|
|
|
+ :param instance_id_list: 最多能指定50台ECS实例ID
|
|
|
:param target_dir: 文件存放目录 type-string
|
|
|
:param name: 文件名 type-string
|
|
|
:param content: 文件内容 type-string
|