雲助手命令可以在ECS執行個體中快速完成運行自動化營運指令碼、輪詢進程、重設使用者密碼、安裝或卸載軟體、更新應用以及安裝補丁等一些日常任務。命令類型可以是Windows PowerShell指令碼、Bat批處理命令和Linux Shell指令碼,命令中支援自訂參數,方便設定變數值。
使用限制
在一個阿里雲地區下,您可以儲存500~50,000條雲助手命令,配額隨您的雲端服務器使用方式可能會增加。您也可以申請提升配額,關於如何查詢及提升配額,請參見ECS配額管理。建立命令會佔用雲助手命令配額。
說明填寫詳細的配額提升申請理由可提高審批通過率。
建立的指令碼在Base64編碼後大小不能超過18 KB。
操作步驟
通過控制台建立命令
登入ECS管理主控台。
在左側導覽列,選擇 。
在頁面左側頂部,選擇雲助手命令所屬資源群組與所在的地區。
說明設定命令所屬的資源群組後,您可以在資源群組層面對命令進行許可權管理,將所需的RAM權限原則加入指定的資源群組以實現資源群組鑒權。命令相關的RAM權限原則和資源群組鑒權說明,請參見雲助手命令自訂策略樣本和資源分組和授權。
在頁面右上方,單擊建立/執行命令。
在命令資訊地區,設定參數。
名稱
描述
命令來源
選擇命令來源。
輸入命令內容:建立一個新命令。
選擇已儲存的命令:選擇已建立的命令。
命令類型
選擇命令類型。
Linux:選擇Shell、Python或者Perl。
Windows:選擇Bat或者PowerShell。
命令內容
編輯或者粘貼您的命令。
有關Shell命令的樣本,請參見查看執行個體系統配置。
建立命令時,您需要自行測試命令的文法、邏輯或演算法是否正確。
例如,假設您已在執行個體中建立了一個/backup目錄(
mkdir /backup
),以下Shell命令將在該目錄中歸檔一個檔案。#!/bin/bash OF=/backup/my-backup-$(date +%Y%m%d).tgz tar -cf $OF {{file}}
說明以上樣本命令中,
{{file}}
是一個自訂參數,您可以在執行命令時設定為需要歸檔的目標檔案,例如/app/usrcredential。自訂參數能滿足動態取值以及一值多用的情境。對於具有安全敏感性的資料以及隨環境變化的資料,建議您設定自訂參數,例如AccessKey、執行個體ID、授權碼、時間參數、關鍵系統檔案等。使用參數
選擇是否啟用參數。
如果您開啟了使用參數功能,在命令內容中以
{{key}}
格式設定自訂參數。說明一份雲助手命令中的自訂參數不能超過20個。
您可以指定內建環境參數作為自訂參數,執行命令時無需手動對參數賦值,雲助手將為您自動替換為環境中對應的值。支援指定以下內建環境參數:
{{ACS::RegionId}}
:地區ID。{{ACS::AccountId}}
:阿里雲主帳號UID。{{ACS::InstanceId}}
:執行個體ID。說明命令下發到多個執行個體時,如需指定
{{ACS::InstanceId}}
作為內建環境參數,需確保安裝雲助手Agent不低於以下版本:Linux:2.2.3.309
Windows:2.1.3.309
{{ACS::InstanceName}}
:執行個體名稱。說明命令下發到多個執行個體時,如需指定
{{ACS::InstanceName}}
作為內建環境參數,需確保安裝雲助手Agent不低於以下版本:Linux:2.2.3.344
Windows:2.1.3.344
{{ACS::InvokeId}}
:命令執行ID。說明如需指定
{{ACS::InvokeId}}
作為內建環境參數,需確保安裝雲助手Agent不低於以下版本:Linux:2.2.3.309
Windows:2.1.3.309
{{ACS::CommandId}}
:命令ID。說明通過調用RunCommand介面執行命令時,如需指定
{{ACS::CommandId}}
作為內建環境參數,需確保安裝雲助手Agent不低於以下版本:Linux:2.2.3.309
Windows:2.1.3.309
執行計畫
選擇命令執行計畫。
立即執行:單擊執行或執行並儲存後,系統立即執行命令。
系統下一次啟動後:單擊執行或執行並儲存後,執行個體下次啟動時執行命令。
系統每次啟動後:單擊執行或執行並儲存後,執行個體每次啟動時執行命令。
定時執行:單擊執行或執行並儲存後,系統在設定的時間間隔或者時間點執行命令。定時執行包括以下幾種方式:
固定時間間隔執行:基於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使用者執行命令。
執行路徑
自訂命令的執行路徑。預設路徑如下:
Linux:預設在root使用者的/home目錄。
Windows:預設在C:\Windows\system32目錄。
逾時時間
設定命令在執行個體中的逾時時間,當執行命令的任務逾時後,雲助手將強制終止任務進程。
單位為秒,預設為60秒,最小為10秒。如果您設定的逾時時間小於10秒,為確保命令執行成功,會被系統設定為10秒。
標籤
設定命令的標籤鍵和標籤值,方便後續分類管理維護。
說明當您在選擇執行個體後,單擊執行並儲存時,系統會同時為命令和命令執行設定標籤資訊。
當您在選擇執行個體後,單擊執行時,系統只會為命令設定標籤資訊。
在選擇執行個體和選擇受管理的執行個體地區,選中需要執行命令的目標執行個體。
說明受管理的執行個體是雲助手託管的非阿里雲伺服器,更多資訊,請參見阿里雲受管理的執行個體。
單擊儲存。
通過CLI建立命令
請求樣本
調用CreateCommand介面建立一條名為update的雲助手命令,用於更新系統。
aliyun ecs CreateCommand --RegionId 'cn-hangzhou' \
--CommandContent 'eXVtIHVwZGF0ZSAteQ==' \
--Type 'RunShellScript' \
--Name 'update' \
--Description 'update' \
--output cols=CommandId
半形單引號('')內為參數的樣本取值,您需要根據實際情況修改。
主要參數說明如下表所示,更多參數說明,請參見CreateCommand。
名稱 | 樣本 | 描述 |
RegionId | cn-hangzhou | 地區ID。 |
Name | update | 命令名稱。 |
Type | RunShellScript | 命令類型。
|
CommandContent | eXVtIHVwZGF0ZSAteQ== | 通過Base64編碼後的命令內容。 |
Description | update | 命令的描述資訊。 |
返回樣本
CommandId
---------
c-hz018qng4on****
後續步驟
建立命令後,您可以在命令列表頁簽中查看具體資訊。如果需要對指定執行個體執行此命令,請參見執行命令。
如果您建立的命令使用了參數,執行命令時,您需要在命令參數欄中填寫參數取值。