You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows EC2实例上定时调度运行AWS CLI脚本

方案说明

你当前场景不需要套用「启动实例-跑脚本-销毁实例」的临时实例方案,这台Windows EC2本身长期运行,直接用Windows原生的任务计划程序托管脚本即可,和你手动在MobaXterm里跑AWS CLI的逻辑完全一致,不会影响实例上部署的Dbeaver等工具,配置步骤如下:


前置准备:给EC2配置对应S3操作权限

先给这台EC2绑定的IAM实例角色添加目标S3路径的操作权限,不要把访问密钥硬编码在脚本里:

  • 允许的操作至少包含s3:ListBucket、s3:DeleteObject
  • 权限范围限定到你需要定期删除的S3桶和对应文件夹前缀即可,遵循最小权限原则

配置完可以在EC2里开cmd跑一句aws s3 ls 你的目标S3路径验证权限是否正常。


第一步:编写可独立运行的批处理脚本

把你手动执行的AWS CLI删除逻辑存为.bat批处理文件,注意所有路径都写绝对路径——定时任务运行时的系统环境变量和你手动开MobaXterm/CMD的环境不一样,用相对路径大概率报错。
示例脚本(存为C:\aws_scripts\s3_daily_clean.bat):

@echo off
:: 先执行 where aws 命令查询本机AWS CLI的实际安装路径,替换下面的路径
set AWS_EXE="C:\Program Files\Amazon\AWSCLIV2\aws.exe"
:: 替换为你要清理的目标S3文件夹路径
set TARGET_S3_PATH="s3://your-bucket-name/temp-upload-folder/"
:: 日志输出路径,方便后续排查问题
set LOG_FILE="C:\aws_scripts\clean_log.txt"

echo %date% %time% 清理任务启动 >> %LOG_FILE%
:: 下面这行替换成你平时手动跑、确认能正常生效的AWS CLI删除命令
:: 示例为递归删除目标路径下所有内容,如果要删指定天数的老文件直接替换对应命令即可
%AWS_EXE% s3 rm %TARGET_S3_PATH% --recursive >> %LOG_FILE% 2>&1
echo %date% %time% 任务执行结束,返回码:%errorlevel% >> %LOG_FILE%

脚本写完先手动双击运行一次,确认S3对应内容能正常删除、日志文件能正常写入,没有报错再进行下一步。


第二步:配置Windows任务计划程序定时触发

  1. 开始菜单搜索打开任务计划程序(Task Scheduler)
  2. 右侧操作栏选择「创建基本任务」,填写任务名称(比如「每日S3自动清理」)后点下一步
  3. 触发器选择「每天」,设置你需要的早间运行时间,下一步
  4. 操作选择「启动程序」,下一步
  5. 程序路径选择你刚才保存的bat文件,「起始于(可选)」输入框必须填写脚本所在的文件夹路径,也就是C:\aws_scripts\,否则会出现工作目录错误
  6. 勾选「点击完成时打开任务属性面板」,点完成
  7. 在弹出的属性面板里调整几个关键配置,避免任务不触发:
    • 安全选项里选择「不管用户是否登录都要运行」,勾选「使用最高权限运行」
    • 切到「条件」标签页,取消勾选「只有在计算机使用交流电源时才启动此任务」(云服务器无电池逻辑,这个选项会拦截任务触发)
    • 切到「设置」标签页,可以勾选「任务失败时自动重试」,设置1分钟间隔重试3次,规避偶发网络波动导致的执行失败

验证配置

在任务计划程序的任务库找到刚创建的任务,右键选择「运行」,等待执行完成后查看之前配置的日志文件,确认执行结果符合预期,后续到设定时间任务就会自动运行,不需要手动操作。


常见踩坑提醒

  • 所有路径必须写绝对路径,包括AWS CLI的执行路径、脚本路径、日志路径,不要依赖系统PATH
  • 不要硬编码AK/SK在脚本里,用EC2实例角色的凭证既安全也不用定期轮换密钥
  • 如果删除逻辑有调整,直接修改bat脚本里的AWS CLI命令即可,不需要重新配置定时任务

内容的提问来源于stack exchange,提问作者whatsinthename

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 02:31:13