AWS ssm send-command:在CLI中修改超时

时间:2019-01-24 14:38:29

标签: amazon-web-services ssm

我正在使用AWS SSM在ec2实例上计算长脚本。

我想配置执行超时(执行时间,而不是启动时间),但是我在官方文档中找不到如何执行此操作(信息相反或无法正常工作)。

我仅使用CLI界面。

2 个答案:

答案 0 :(得分:0)

您可以使用timeout运行脚本,您可以在其中指定脚本可以运行多长时间。

假设您要运行hello.sh脚本的时间不超过5秒钟。

timeout 5s ./hello.sh

5s停留5秒钟后,正在运行的脚本将被杀死。您还可以将m用于分钟,将h用于小时,将d用于几天。

答案 1 :(得分:0)

此值是一个文档属性,可以使用 --parameters 键通过 executionTimeout 选项传递。您可以使用 aws ssm describe-documents 查找此参数和其他文档特定参数。

aws ssm describe-document --name "AWS-RunShellScript"

{
    "Document": {
        "Hash": "99749de5e62f71e5ebe9a55c2321e2c394796afe7208cff048696541e6f6771e",
        "HashType": "Sha256",
        "Name": "AWS-RunShellScript",
        "Owner": "Amazon",
        "CreatedDate": "2017-08-21T22:25:02.029000+02:00",
        "Status": "Active",
        "DocumentVersion": "1",
        "Description": "Run a shell script or specify the commands to run.",
        "Parameters": [
            {
                "Name": "commands",
                "Type": "StringList",
                "Description": "(Required) Specify a shell script or a command to run."
            },
            {
                "Name": "workingDirectory",
                "Type": "String",
                "Description": "(Optional) The path to the working directory on your instance.",
                "DefaultValue": ""
            },
            {
                "Name": "executionTimeout",
                "Type": "String",
                "Description": "(Optional) The time in seconds for a command to complete before it is considered to have failed. Default is 3600 (1 hour). Maximum is 172800 (48 hours).",
                "DefaultValue": "3600"
            }
        ],
        "PlatformTypes": [
            "Linux",
            "MacOS"
        ],
        "DocumentType": "Command",
        "SchemaVersion": "1.2",
        "LatestVersion": "1",
        "DefaultVersion": "1",
        "DocumentFormat": "JSON",
        "Tags": []
    }
}