首页/系统/Linux 运维命令速查/systemd-run 临时定时任务
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条
定时任务与计划50 条

systemd-run 临时定时任务

不想落 unit 文件时的临时定时器:systemd-run --on-calendar 创建瞬态 timer/unit,适合一次性实验与临时巡检。

Linux 运维命令速查系统更新于 2026-10-12
用途命令行创建瞬态定时任务
语法systemd-run --on-calendar=… [--unit=名] 命令
销毁任务完成后瞬态单元自动清理

示例

示例
# 每天 03:00 跑一次(创建真实 timer,持久存在直到 stop)
sudo systemd-run --on-calendar='*-*-* 03:00:00' --unit=tmp-diskcheck /opt/scripts/diskcheck.sh

# 一次性:30 秒后执行
sudo systemd-run --on-active=30s --unit=tmp-reload systemctl reload nginx

# 查看与清理
systemctl list-timers 'tmp-*' --no-pager
sudo systemctl stop tmp-diskcheck.timer
--on-calendar 语法同 OnCalendar(systemd.time(7));临时实验用得好,正式任务仍建议落 unit 文件进版本管理。

易错点

  • 瞬态单元重启后不保留(未持久化);重启后仍要跑的别用 transient
  • --unit 名字撞车会创建失败,脚本里加时间戳后缀避免冲突

数据来源与参考

  • man 1 systemd-run
  • systemd.time(7)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌