360 Secure SkillHub
360 安全技能中心

Schedule Task

该 Skill 通过 Python 脚本封装 cron,支持添加、列出、移除、启停定时任务,解析常见 cron 表达式,并查看执行日志和任务健康状态。可选记录日志、设置超时、失败邮件通知,也示例了与网站监控或 Telegram 机器人配合使用。

dinghaibin
dinghaibin
热度 48.17
最近更新 2026-05-18 11:50:30
分类:自动化依赖:代码执行 / 读写文件应用场景:日程安排 / 工作流 / 自动化脚本 / DevOps ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add schedule-task
Metadata
name
schedule-task
description
Schedule and run recurring tasks on Linux/Unix systems. Use when user wants to set up cron jobs, scheduled backups, periodic data sync, automated reports, or any recurring task automation.

Schedule Task

Schedule and manage recurring tasks using cron.

Quick Start

# Add a scheduled task
python scripts/scheduler.py add --cron "0 9 * * *" --command "backup.sh"

# List all tasks
python scripts/scheduler.py list

# Remove a task
python scripts/scheduler.py remove --id 1

Core Features

  • Cron Expression Parser: Validate and understand cron expressions
  • Task Management: Add, list, remove scheduled tasks
  • Health Checks: Monitor task execution status
  • Notifications: Alert on task failure

Cron Format

┌───────────── minute (0 - 59)
│ ┌───────────── hour (0 - 23)
│ │ ┌───────────── day of month (1 - 31)
│ │ │ ┌───────────── month (1 - 12)
│ │ │ │ ┌───────────── day of week (0 - 6)
│ │ │ │ │
* * * * *

Common Examples

Expression Meaning
0 9 * * * Daily at 9 AM
0 * * * * Every hour
*/15 * * * * Every 15 minutes
0 0 * * 0 Weekly on Sunday
0 0 1 * * Monthly on 1st

Script Usage

python scripts/scheduler.py [COMMAND] [OPTIONS]

Commands:
  add         Add a new scheduled task
  list        List all scheduled tasks
  remove      Remove a task
  enable      Enable a disabled task
  disable     Disable a task without removing
  log         Show task execution log
  health      Check task health status

Options

--cron TEXT      Cron expression (required for add)
--command TEXT   Command to run (required for add)
--name TEXT      Task name for identification
--log PATH       Log file path
--notify EMAIL   Email notification on failure
--timeout SECS   Task timeout in seconds

Examples

Daily Backup

python scripts/scheduler.py add \
  --cron "0 2 * * *" \
  --command "/home/user/backup.sh" \
  --name "daily-backup" \
  --log /var/log/backup.log

Hourly Sync

python scripts/scheduler.py add \
  --cron "0 * * *" \
  --command "sync-data.sh" \
  --name "hourly-sync"

Weekly Report

python scripts/scheduler.py add \
  --cron "0 9 * * 1" \
  --command "generate-report.sh" \
  --name "weekly-report"

Integration

With Web Monitor

# Monitor website every hour
python scripts/scheduler.py add \
  --cron "0 * * *" \
  --command "python /path/to/web-monitor/scripts/monitor.py --url https://example.com --compare last.json"

With Telegram Bot

# Send daily summary
python scripts/scheduler.py add \
  --cron "0 8 * * *" \
  --command "telegram-send 'Good morning! Daily summary ready'"

Best Practices

  1. Use absolute paths in commands
  2. Log output for debugging
  3. Set timeouts to prevent hanging tasks
  4. Test commands manually before scheduling
  5. Use UTC for server schedules