簡體   English   中英

AWS Lambda,Python:來自Lambda或Linux命令的Call Shell腳本

[英]AWS Lambda, Python : Call Shell script from Lambda or Linux command

我正在使用Python編寫的AWS Lambda腳本,我目前正在獲取具有特定標記的所有實例,並從中刪除最舊的實例。 之后,從剩下的實例中,我想在實例上調用linux命令。 我唯一需要的是調用crontab -r ,因為最老的實例將具有cron設置,並且在ASG生成的實例中添加這些crons將導致重復的電子郵件被發送。

除了最舊的實例之外,我已經完成所有實例,但是如何在每個實例上調用crontab -r 有任何想法嗎。 謝謝。

代碼:

import boto.ec2
import boto3
conn=boto.ec2.connect_to_region("eu-central-1")
reservations = conn.get_all_instances()
instances_list = []
process_instance_list = []
for res in reservations:
    for inst in res.instances:
        if 'Name' in inst.tags:
            if inst.tags['Name'] == 'PROJECT_NAME' :
               instances_list.append(inst);


instances_list.sort(key=lambda x: x.launch_time, reverse=False)
non_processed_id=instances_list[0]

for val in instances_list:
    if val.id != non_processed_id.id:
       // Call crontab -r here.

謝謝。 :-)

使用boto3 send_command在ec2上執行命令。

案例示例:

boto3.client('ssm').send_command(
    InstanceIds=[val.id], 
    DocumentName='AWS-RunShellScript', 
    Parameters={'commands': ['crontab -r']}, 
    Comment='Crontab remove'
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM