在ECS管理主控台執行雲助手命令與登入執行個體後運行命令一樣,只有滿足所需條件後,命令才會運行成功。建議在執行命令後查看命令執行結果與狀態,確保目標操作已完成。如果執行失敗,可以根據常見錯誤資訊定位並修複問題。
背景資訊
當出現ECS執行個體缺乏相關依賴、網路異常、命令語義錯誤、指令碼調試失敗或者執行個體狀態異常等情況時,命令會呈現不同的執行狀態與執行結果。可以通過控制台或API查看執行結果中的錯誤資訊、診斷並修複問題。
查看執行結果
通過控制台查看
訪問ECS控制台-雲助手。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
在命令執行結果頁簽,查看命令執行結果。
如果命令執行成功,在執行結果中查看輸出資訊。
找到執行狀態為成功執行的命令執行結果。
在操作欄中,單擊查看。
在執行個體列表頁面的執行完成頁簽,查看命令執行結果。

如果命令執行失敗,在執行結果中查看錯誤資訊,並根據錯誤資訊診斷和修複問題。
找到執行狀態為執行失敗的命令執行結果。
在操作欄中,單擊查看。
在執行個體列表頁面的執行失敗頁簽,查看執行失敗的錯誤資訊。
常見錯誤資訊及修複建議,請參見執行失敗常見錯誤及修複建議。

查看定時執行任務的輸出資訊。
找到執行狀態為計劃執行中的命令執行結果。
在操作欄中,單擊查看。
在執行個體列表頁面,查看命令執行結果。
通過阿里雲CLI查看
阿里雲CLI的使用步驟,請參見使用阿里雲CLI管理阿里雲資源。
從RunCommand或InvokeCommand的返回結果中擷取命令執行 ID(InvokeId)。
輸入InvokeId和ECS執行個體的地區ID(RegionId)查詢命令的執行結果。下面樣本以華東2(上海)地區為例,其他地區的ID請參見地區和可用性區域。
調用
DescribeInvocations介面查看命令的執行狀態。aliyun ecs DescribeInvocations --RegionId cn-shanghai --InvokeId t-sh054h*****調用
DescribeInvocationResults介面查看命令的執行結果。aliyun ecs DescribeInvocationResults --RegionId cn-shanghai --InvokeId t-sh054h******
通過API查看
從RunCommand或InvokeCommand的返回結果中擷取命令執行 ID(InvokeId)。
在DescribeInvocations或DescribeInvocationResults中,輸入InvokeId和ECS執行個體的地區ID查詢命令的執行結果。
執行失敗錯誤及修複建議
常見錯誤
錯誤碼 | 錯誤資訊 | 修複建議 |
InstanceNotRunning | 建立任務時,該執行個體不處於運行中。 | 請確認執行個體是否正常運行。 |
InstanceRestarted | 執行個體在任務執行期間被重啟。 | 請不要在執行任務時重啟執行個體。 |
ClientNotRunning | 雲助手Agent未運行。 | 因為雲助手Agent已停止或未安裝,請按照以下步驟啟動或安裝雲助手Agent。
說明 如果以上操作還未能啟動雲助手Agent,請重新安裝雲助手。具體操作,請參見安裝雲助手Agent。 |
ClientNetworkBlocked | 執行個體網路環境異常。 |
說明
|
SecurityGroupRuleDenied | 安全性群組規則拒絕訪問雲助手服務。 |
|
ClientNotResponse | 雲助手Agent未響應。 | 請結合雲助手Agent的日誌進行排查。
|
ClientNeedUpgrade | 雲助手Agent需要升級以支援指定特性。 |
|
ClientNotOnline | 雲助手Agent未串連到伺服器。 | 請重新啟動雲助手Agent,具體操作,請參見停止和卸載雲助手Agent。 |
DeliveryTimeout | 雲助手服務端向雲助手Agent下發任務失敗。 | 雲助手命令尚未下發到執行個體中,建議重新執行。 |
ExecutionTimeout | 命令執行逾時。 | 請根據需要延長命令執行逾時時間。
|
ExecutionException | 命令執行發生異常。 | 請查看ErrorInfo欄位提示的詳細錯誤資訊。 |
ExitCodeNonzero | 命令執行結束,但命令進程的退出碼非0。 | 請檢查命令指令碼內容以及命令的輸出資訊。 |
ClientRestarted | 雲助手Agent重啟導致任務中斷。 | 請在重啟完成後重新執行。可以在雲助手控制台或調用DescribeCloudAssistantStatus查看雲助手Agent運行狀態。 |
InstanceReleased | 執行命令期間,執行個體被釋放。 | 執行命令期間執行個體被釋放,無法執行。 |
DirectoryNotExists | 執行個體內不存在指定的運行目錄。 | 請在執行個體中建立指定的運行目錄,再執行命令。 |
執行命令
錯誤碼 | 錯誤資訊 | 修複建議 |
ClientIsUpgrading | 雲助手Agent正在升級中。 | 請在升級完成後重新執行。可以在雲助手控制台或調用DescribeCloudAssistantStatus查看雲助手Agent運行狀態。 |
InstanceDeregistered | 受管理的執行個體已經登出。 | 執行命令時受管理的執行個體已經登出,無法執行。 |
InvalidSystemBuiltInParameter | 內建環境參數不合法。 | 不支援指定的內建環境參數,內建環境參數說明,請參見RunCommand中 |
DefaultWorkingDirectoryNotAvailable | 執行個體中預設的運行目錄不可用。 | 請檢查執行個體中預設的運行目錄:
也可以在執行命令時指定運行目錄,可通過雲助手控制台或RunCommand的 |
CommandNotApplicable | 命令類型不適用於指定的執行個體。 | 各命令類型支援的執行個體作業系統如下:
|
InvalidCommandText | 命令內容不合法。 | 請檢查命令內容,命令內容可以是明文內容或Base64編碼後的內容。 |
CommandContentDecodeError | 命令內容解碼失敗。 | 若命令內容指定了Base64編碼,請檢查Base64編碼是否正確。 |
AccountNotExists | 執行個體內不存在指定的使用者。 | 請在執行個體中建立指定的使用者後再執行命令。
您也可以在執行命令時指定已存在的其他使用者執行命令,可通過雲助手控制台或RunCommand的 |
定時執行命令
錯誤碼 | 錯誤資訊 | 修複建議 |
BadCronExpression | 指定的Cron運算式不合法。 | 請修改Cron運算式,更多資訊,請參見基於時鐘定時執行。 |
CronExpressionExpired | Cron運算式到期,對應的定時任務不會執行。 | 執行命令時請不要指定已到期的Cron運算式。 |
InvalidGMTOffsetForTimezone | Cron運算式中指定的GMT位移時區格式不合法。 | 請檢查GMT位移時區格式。 支援的GMT範圍:GMT-12:59至GMT+14:59,分鐘位允許0~59任意值,小時位不支援添加前置字元為零。 |
InvalidGMTOffsetHourForTimezone | Cron運算式中指定的GMT位移小時值不合法。 | 請檢查GMT位移時區的小時值。 支援的GMT範圍:GMT-12:59至GMT+14:59,小時位不支援添加前置字元為零。 |
InvalidGMTOffsetMinuteForTimezone | Cron運算式中指定的GMT位移分鐘值不合法。 | 請檢查GMT位移時區的分鐘值。 分鐘位允許0~59任意值。 |
TimezoneInformationCorrupt | 由於時區檔案損壞等原因,導致雲助手Agent無法解析時區資訊。 |
說明 若不存在對應的時區檔案,請建立正確的時區檔案後再執行命令。 |
InvalidRateExpression | Rate運算式不合法。 | 請修改Rate運算式,更多資訊,請參見固定時間間隔執行。 |
RateFrequencyTooLarge | Rate運算式中指定的定時執行頻率過大 | 定時執行頻率不能大於7天。 |
InvalidAtExpression | 時間戳記(At運算式)不合法 | 請修改時間戳記,更多資訊,請參見僅在指定時間執行一次。 |
AtExpressionExpired | 時間戳記(At運算式)到期,對應的定時任務不會執行。 | 執行命令時請不要指定已到期的時間戳記。 |
在容器內執行命令
錯誤碼 | 錯誤資訊 | 修複建議 |
InvalidContainerName | 容器名稱不合法。 | 容器名稱必須以數字、字母開頭,只能包含數字、大小寫字母以及特殊字元中的半形句號(.)、底線(_)、短劃線(-),長度不能超過255個字元。 |
UnsupportedContainerRuntime | 不支援容器ID中包含的容器運行時 | 僅支援由Kubernetes通過CRI規範管理的且在docker、containerd、cri-o容器運行時上啟動並執行容器。 |
InvalidContainerId | 容器ID不合法。 | 僅支援64位十六進位字串,允許存在 |
ContainerConnectFailed | 無法串連到容器。 | 請查看容器是否在運行中,可以使用
|
ContainerStateAbnormal | 容器狀態異常。 | 請檢查容器狀態,只有運行中的容器才能通過雲助手執行命令,可以使用 |
ContainerNotFound | 容器不存在 | 請檢查對應名稱或ID的容器是否存在。 方法一:使用kubectl查看 方法二:使用雲助手Agent查看 更多資訊,請參見使用雲助手在容器內執行命令。 |
ContainerNameDuplicated | 節點存在同名容器,無法識別出待執行命令的容器。 |
|
ContainerNameAndIdNotMatch | 容器ID與容器名稱不匹配。 | 指定的容器ID與容器名稱不對應同一個容器,請檢查容器ID與容器名稱是否正確。 |
非預設使用者(System)在Windows執行個體中執行命令
當以非預設使用者(System)在Windows執行個體中執行命令時可能出現以下問題。
錯誤碼 | 錯誤資訊 | 修複建議 |
UserOrPasswordInvalid | 使用者名稱或密碼不正確。 | 使用者名稱稱或對應使用者的密碼不正確。關於使用者名稱稱及密碼說明,請參見加密參數和設定普通使用者執行雲助手命令。 |
QueryParameterStoreFailed | 從Parameter Store拉取參數失敗。 | 請檢查CloudOps Orchestration Service的參數倉庫中是否有對應的密碼資訊,更多資訊,請參見加密參數。 |
InstanceRoleInvalid | Instance Role沒有被授予給執行個體。 | 請調用DescribeInstanceRamRole查看執行個體中是否有對應的RAM角色。 |
停止命令
錯誤碼 | 錯誤資訊 | 修複建議 |
TerminationException | 任務停止失敗。 | 請查看ErrorInfo欄位提示的詳細錯誤資訊,或重試停止任務。 |
傳送檔案
錯誤碼 | 錯誤資訊 | 修複建議 |
FileAlreadyExists | 相同路徑下存在同名檔案。 | 可以通過以下方案解決:
3、修改檔案下發目標ECS執行個體中的路徑或名稱。 |
FileNameInvalid | 檔案名稱不合法。 | 請調整檔案名稱以符合Windows或Linux作業系統的檔案命名規範。
|
FilePathInvalid | 檔案路徑不合法。 | 請調整檔案路徑,以符合Windows或Linux作業系統的檔案路徑規範。
|
FileAuthorityInvalid | 檔案許可權不合法。 | 請調整檔案許可權,只對Linux執行個體生效,設定方式與chmod命令相同。 |
UserGroupNotExists | 執行個體內不存在指定的使用者組。 | 使用者組預設為root。請在Linux執行個體中建立對應的使用者組。 參考命令: |
常見問題
Q:通過阿里雲助手在 Windows 伺服器上執行 PowerShell 指令碼時,遇到輸出中文亂碼是什麼原因,如何解決?
A:因為雲助手執行 PowerShell 的預設環境沒有使用 UTF-8 編碼來處理輸出。當中文字元這類非 ASCII 字元被指令碼輸出時,由於編碼不匹配,導致控制
台無法正確解析,從而顯示為亂碼。
有兩種解決方案:
修改指令碼內容:在指令檔的開頭直接加入代碼,強制指定輸出編碼為 UTF-8。
在Windows Server 2022環境中,雲助手已預設正確處理中文編碼,無需設定UTF-8編碼。
在PowerShell 指令碼最前面,添加如下代碼:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8 Write-Output "測試中文輸出..."修改執行引導程式:在雲助手的進階選項中,修改執行指令碼的底層命令,讓它在運行指令碼前自動化佈建好編碼。
在雲助手執行命令的引導程式中輸入如下代碼:
powershell -command [Console]::OutputEncoding=[System.Text.Encoding]::UTF8;{{ACS::ScriptFileName|Ext(.ps1)}};exit $LastExitCode在此任務中執行的所有 PowerShell 指令碼都會自動應用 UTF-8 編碼,無需再單獨修改指令檔。