All Products
Search
Document Center

Elastic Compute Service:Run a command

最終更新日:Dec 13, 2023

After you create a Cloud Assistant command, you can run the command on one or more Elastic Compute Service (ECS) instances. The execution status and results of the command on multiple instances do not affect each other.

Prerequisites

Before you run a Cloud Assistant command on ECS instances, make sure that the instances meet the following requirements:

  • The instances are in the Running (Running) state.

  • Cloud Assistant Agent is installed on the instance. For more information, see Install the Cloud Assistant Agent.

    To ensure that scheduled tasks can run as expected, make sure that the version of Cloud Assistant Agent is not earlier than the following ones. A scheduled task can run a command at a specified interval, run a command only once at a specified time, or run a command based on a schedule defined by a cron expression with a specified year or time zone.

    • Linux: 2.2.3.282

    • Windows: 2.1.3.282

    If the ClientNeedUpgrade error code is returned, update Cloud Assistant Agent to the latest version. For information about how to update the Cloud Assistant Agent, see Upgrade or disable upgrades for Cloud Assistant Agent.

Background information

  • You can call an API operation to run a command on up to 50 instances.

  • If you select more than 50 instances to run a command in the ECS console, the system runs the command on the instances in batches.

Procedure

Run a command in the ECS console

  1. Log on to the ECS console.

  2. In the left-side navigation pane, choose Maintenance & Monitoring > Cloud Assistant.

  3. In the upper-left corner of the top navigation bar, select a region. 地域

  4. On the Commands tab, find the Cloud Assistant command that you want to run and click Run in the Operation column.

  5. In the Run Command panel, specify parameters for the command.

    1. In the Command Information section, check the command content and configure the parameters. The following table describes the parameters.

      Parameter

      Description

      Command content

      Click View command content to view the command content.

      Execution Plan

      Select a plan to run the command.

      • Immediate execution: The command is run immediately after you click Run or Execute and Save.

      • After the next startup of the system: The command is run the next time the selected instances are started after you click Run or Execute and Save.

      • After each system startup: The command is run each time the selected instances are started after you click Run or Execute and Save.

      • Run on Schedule: The command is run at a specified interval, at a specified time, or on a schedule after you click Run or Execute and Save. If you set Implementation plan to Run on Schedule, the following options are available:

        • Run at Fixed Interval: Use a rate expression to specify an interval at which you want to run the command. You can specify the interval in seconds, minutes, hours, or days. This option is suitable when you want to execute command execution tasks at a fixed interval.

          Note

          When you specify an interval, take note of the following limits:

          • The specified interval can range from 60 seconds to 7 days and must be longer than the timeout period of the scheduled task.

          • The interval is the amount of time elapsed between two consecutive executions and is irrelevant to the amount of time required to run the command once. For example, you set the interval to 5 minutes and the amount of time required to run the command once is 2 minutes. Each time the command is run, the system waits 3 minutes before the system re-runs the command.

          • A task is not executed immediately after the task is created. For example, you set the interval to 5 minutes and create a task to run the command. The task runs 5 minutes after it is created.

        • Run Only Once at Specified Time: Specify a point in time and a time zone to run the command only once.

          For example, if you set Execution Time to May 17, 2022, 17:30:50 and Time Zone to (GMT+08:00) Asia/Shanghai, the command was run only once at 17:30:50 on May 17, 2022 (UTC+8).

        • Run on Clock-based Schedule: Use a cron expression to specify a schedule on which you want to run the command. Specify a schedule that is accurate to the second, minute, hour, day of the month, month, day of the week, or year, and select a time zone from the Time Zone drop-down list. The system calculates the schedule based on the cron expression and time zone and runs the command as scheduled. This option provides flexibility and is suitable when you want to execute command execution tasks on a schedule. For more information about cron expressions, see Run a command on a schedule.

          Note

          The minimum interval must be 10 seconds or more and cannot be shorter than the timeout period of scheduled executions.

          For example, if you set Execution Frequency to 0 0 12 ? * WED 2022 and Time Zone to (GMT+08:00) Asia/Shanghai, the system runs the command at 12:00:00 every Wednesday in 2022 (UTC+8).

      Username

      Specify a username that you want to use to run the command on ECS instances.

      For security purposes, we recommend that you run Cloud Assistant commands as a regular user based on the principle of least privilege. For more information, see Run Cloud Assistant commands as a regular user.

      By default, Cloud Assistant commands are run by the root user on Linux instances and by the system user on Windows instances.

      Timeout

      Specify a timeout period for the task that runs the command on instances. If the command task times out, Cloud Assistant forcefully terminates the task process.

      Unit: seconds. By default, this parameter is set to the value of Timeout that you specify for the command.

      Note

      This timeout period is applicable only to the command task. When you modify the timeout period of the command task, the timeout period of the command is not affected.

      Tag

      Specify Tag Key and Tag Value to add tags to the command task.

    2. In the Select Instance and Select Managed Instances sections, select one or more instances.

      If you have multiple instances, you can search for the instances on which you want to run the command by instance ID, name, or tag, and filter results by the status of Cloud Assistant Agent.

      Note

      A managed instance is an instance that is managed by Cloud Assistant but not provided by Alibaba Cloud. For more information, see Manage servers that are not provided by Alibaba Cloud.

  6. Click Run.

Run a command by using Alibaba Cloud CLI

When you run a command by using Alibaba Cloud CLI, make sure that you have installed Alibaba Cloud CLI on your computer. The methods for installing Alibaba Cloud CLI vary based on operating systems. For information about how to install Alibaba Cloud CLI on different operating systems, see the following topics:

  1. (Optional) Check the instance status. If the instance is not in the Running (Running) state, call the StartInstance operation to start the instance.

    aliyun ecs StartInstance --InstanceId 'i-bp1f4f6o8lv0wqof****' 
    Note

    In this example, the values enclosed within single quotation marks ('') are example values of the parameters. You must change these values based on your actual conditions.

    For more information about the parameters, see StartInstance.

  2. (Optional) Call the DescribeCloudAssistantStatus operation to check whether Cloud Assistant Agent is installed on the instances.

    aliyun ecs DescribeCloudAssistantStatus --RegionId 'cn-hangzhou' \
    --InstanceId.1 'i-bp1f4f6o8lv0wqof****' 

    If Cloud Assistant Agent is installed on the instances, the value of CloudAssistantStatus is true in the response. Otherwise, call the InstallCloudAssistant operation to install Cloud Assistant Agent on the instances. For more information, see DescribeCloudAssistantStatus and InstallCloudAssistant.

  3. Call the InvokeCommand operation to run a created Cloud Assistant command on one or more instances.

    aliyun ecs InvokeCommand --RegionId 'cn-hangzhou' \
    --InstanceId.1 'i-bp1f4f6o8lv0wqof****' \
    --InstanceId.2 'i-bp137qu6142s3mhm****' \
    --CommandId 'c-hz018qp243j****' \
    --Timed 'false'

    The following table describes the main parameters. For more information about the parameters, see InvokeCommand.

    Parameter

    Example

    Description

    RegionId

    cn-hangzhou

    The region ID.

    InstanceId.1

    i-bp1f4f6o8lv0wqof****

    The ID of the first instance on which to run the command.

    InstanceId.2

    i-bp137qu6142s3mhm****

    The ID of the second instance on which to run the command.

    CommandId

    c-hz018qp243j****

    The command ID.

    Timed

    false

    Specifies whether to run the command on a schedule.

    To run the command on a schedule, set Timed to true and use the Frequency parameter to specify the schedule. You can specify a command to run at a fixed interval based on a rate expression, run only once at a specified time, or run at designated times based on a cron expression. For example, if you specify a cron expression of 0 */20 * * * ?, the command is run every 20 minutes. For more information, see Cron expressions.