創建云助手命令后,您可以在一臺或者多臺ECS實例中執行命令。多臺實例間的執行狀態和執行結果互不影響。
前提條件
執行云助手命令前,目標ECS實例必須滿足以下條件:
狀態處于運行中(
Running
)。已安裝云助手Agent。具體操作,請參見安裝云助手Agent。
使用定時任務的新特性(固定時間間隔執行、僅在指定時間執行一次、基于Cron表達式定時執行時指定年份或時區)時,需確保云助手Agent不低于以下版本:
Linux:2.2.3.282
Windows:2.1.3.282
如果執行定時任務結果返回
ClientNeedUpgrade
錯誤碼,請將客戶端更新至最新版本。具體操作,請參見升級或禁止升級云助手Agent。
背景信息
調用API執行命令時最多可以選擇100臺實例。您也可以申請提升配額(配額名稱為命令執行支持實例上限數),關于如何查詢及提升配額,請參見查看和提升資源配額。
通過ECS管理控制臺一次執行命令操作的實例數量大于100臺時,系統會自動分批執行命令。
操作步驟
通過控制臺執行命令
登錄ECS管理控制臺。
在左側導航欄,選擇 。
在頁面左側頂部,選擇目標資源所在的資源組和地域。
在我的命令頁簽中,找到目標云助手命令,在操作列中,單擊執行。
在執行命令對話框中,配置執行參數。
在命令信息中查看命令內容、設置命令參數和設置執行用戶等。
名稱
描述
命令內容
單擊查看命令內容確認命令內容。
執行計劃
選擇命令執行計劃。
立即執行:單擊執行或執行并保存后,系統立即執行命令。
系統下一次啟動后:單擊執行或執行并保存后,實例下次啟動時執行命令。
系統每次啟動后:單擊執行或執行并保存后,實例每次啟動時執行命令。
定時執行:單擊執行或執行并保存后,系統在設置的時間間隔或者時間點執行命令。定時執行包括以下幾種方式:
固定時間間隔執行:基于Rate表達式,按照設置的時間間隔執行命令。時間間隔支持按秒、分鐘、小時和天來選擇,適用于在固定時間間隔執行任務的場景。
說明固定時間間隔執行有以下限制條件:
設置的時間間隔不大于7天、不小于60秒,且需大于定時任務的超時時間。
執行間隔只基于固定頻率,與任務實際執行需要的時間無關。例如設置每5分鐘執行一次命令,任務需要2分鐘執行完成,則在任務完成3分鐘后繼續執行下一輪。
創建任務時不會立即執行。例如設置每5分鐘執行一次命令,創建任務時不會立即執行一次命令,而是在任務創建完成后的5分鐘后開始執行。
僅在指定時間執行一次:按照設置的時區和執行時間點執行一次命令。
例如設置執行時間為2022-05-17 17:30:50,時區為(GMT+8:00) Asia/Shanghai,即表示系統會在中國/上海時間,2022年05月17日17點30分50秒執行一次命令。
基于時鐘定時執行:基于Cron表達式,按照設置的定時任務執行命令。重復頻率可精確到秒、分鐘、小時、日期、月份、星期、年份,在指定的時區下,根據Cron表達式推算定時任務執行時間并執行。配置靈活,適用于較復雜的定時任務執行場景。關于Cron表達式的更多信息,請參見Cron表達式。
說明設置的最小時間間隔需大于或等于定時任務的超時時間,且不小于10 秒。
例如設置重復頻率為0 0 12 ? * WED 2022,時區為(GMT+8:00) Asia/Shanghai,即表示系統會在中國/上海時間,2022年每個星期三中午12:00執行命令。
執行用戶
在ECS實例中執行命令的用戶名。
使用最小權限執行命令是權限管理的最佳實踐,建議您以普通用戶身份執行云助手命令。更多信息,請參見設置普通用戶執行云助手命令。
默認情況下,在Linux實例中以root用戶執行命令,在Windows實例中以System用戶執行命令。
超時時間
設置命令在實例中執行的超時時間,當執行命令的任務超時后,云助手將強制終止任務進程。
單位為秒,默認為您創建命令時設置的超時時間。
說明該值僅作為該次命令執行的超時時間,不會改變命令本身設置的超時時間。
標簽
設置命令執行的標簽鍵和標簽值,方便后續分類管理維護。
在選擇實例和選擇托管實例區域,選中一臺或多臺目標實例。
如果實例過多,您可以在搜索框內輸入實例ID、實例名稱或標簽等,并過濾云助手Agent的狀態。
說明托管實例是云助手托管的非阿里云服務器,更多信息,請參見阿里云托管實例。
單擊執行。
通過CLI執行命令
通過CLI執行命令時,請確保您已經為本地客戶端安裝了阿里云CLI,在不同操作系統中安裝CLI的方式如下:
(可選)檢查實例狀態,若實例的狀態不是運行中(
Running
),調用StartInstance接口啟動目標實例。aliyun ecs StartInstance --InstanceId 'i-bp1f4f6o8lv0wqof****'
說明半角單引號('')內為參數的示例取值,您需要根據實際情況修改。
更多參數說明,請參見StartInstance。
(可選)調用DescribeCloudAssistantStatus接口查詢目標實例是否安裝了云助手Agent。
aliyun ecs DescribeCloudAssistantStatus --RegionId 'cn-hangzhou' \ --InstanceId.1 'i-bp1f4f6o8lv0wqof****'
返回
CloudAssistantStatus=true
結果時,表示實例已安裝云助手Agent。否則,請調用InstallCloudAssistant接口為實例安裝客戶端。更多信息,請參見DescribeCloudAssistantStatus和InstallCloudAssistant。調用InvokeCommand接口為一臺或多臺實例執行已創建的云助手命令。
aliyun ecs InvokeCommand --RegionId 'cn-hangzhou' \ --InstanceId.1 'i-bp1f4f6o8lv0wqof****' \ --InstanceId.2 'i-bp137qu6142s3mhm****' \ --CommandId 'c-hz018qp243j****'
主要參數如下表所示,更多參數說明,請參見InvokeCommand。
名稱
示例
描述
RegionId
cn-hangzhou
地域ID。
InstanceId.1
i-bp1f4f6o8lv0wqof****
執行命令的第一個實例ID。
InstanceId.2
i-bp137qu6142s3mhm****
執行命令的第二個實例ID。
CommandId
c-hz018qp243j****
命令ID。