在阿里云里,ACS(Action Command Service,即云助手) 可以配合 定时任务功能 来实现自动化运维,非常适合做周期性运维任务,比如定时清理日志、同步配置、健康检查、批量更新等。
我给你拆成一个从零开始的完整流程,你照着做就能跑起来:
1. 准备阶段
- 确保目标实例已安装并运行 Cloud Assistant Agent
在 ECS 控制台 → “运维与监控” → “云助手” → “管理实例” 检查 Agent 状态,如果未安装可以直接一键安装。 - 确保有执行权限
需要阿里云账号具有AliyunYunAssistantFullAccess或等效自定义策略。
2. 编写要执行的命令
-
支持 Shell(Linux) 和 PowerShell / CMD(Windows) 脚本
-
建议:
- 避免交互式命令(批量任务会卡住)
- 使用绝对路径
- 在脚本里加日志输出,方便排查问题
-
示例(Linux 清理
/tmp目录超过 7 天的文件):find /tmp -type f -mtime +7 -exec rm -f {} ; echo "$(date) - 清理完成"
3. 创建命令
-
打开 ECS 控制台 → “运维与监控” → “云助手” → “命令管理” → “创建命令”
-
填写:
- 名称:清理临时文件
- 命令类型:Shell(或 PowerShell)
- 超时时间:根据任务设置(默认 60 秒)
- 执行用户:
root(Linux)或Administrator(Windows) - 命令内容:粘贴你的脚本
-
点击 确定 保存
4. 创建定时任务
-
在“命令管理”中找到刚才的命令 → 创建执行计划
-
选择目标 ECS 实例
-
在 执行时间设置 里选择:
- 一次性执行:只在指定时间执行一次
- 周期执行:按 Cron 表达式 定时(例如每天凌晨 3 点:
0 0 3 * * ?)
-
确认并创建
5. 监控与结果查看
-
在 执行记录 页面查看执行结果、输出和错误信息
-
可以开启 执行结果推送到日志服务(SLS) ,方便长期分析
-
如果发现失败:
- 检查实例网络、Agent 状态
- 检查命令是否有权限问题或依赖缺失
6. 进阶玩法
- 批量执行不同命令:一个计划可对多台机器下发不同任务(结合标签分组)
- 参数化脚本:创建命令时支持占位符,在执行计划中传参
- 配合函数计算:用函数计算生成动态命令,再调用 ACS 下发到实例
- 安全控制:结合 RAM 策略限制谁能创建和修改定时任务