当前位置: 首页 > ai >正文

systemctl实现定时任务(比crontab好用)

假设有一个 kline_dumper的服务,想实现每隔10分钟自动启动/停止,使用crontab可以很简单的实现,使用systemctl也能够方便的实现;

一、准备工作
1、创建 kline_dumper.service

[Unit]
Description=Kline Dumper service[Service]
ExecStart=/opt/price/bin/kline_dumper
Restart=on-failure
WorkingDirectory=/opt/price/bin  --flagfile=/opt/price/bin/config/price.flags
StandardOutput=journal
StandardError=journal[Install]
WantedBy=multi-user.target

2、创建 kline_dumper-restart.servicekline_dumper-restart.timer
kline_dumper-restart.service:

[Unit]
Description=Restart kline_dumper with delay[Service]
Type=oneshot
ExecStart=/bin/bash -c '/bin/systemctl stop kline_dumper.service && sleep 10 && /bin/systemctl start kline_dumper.service'

kline_dumper-restart.timer

[Unit]
Description=Restart kline_dumper every 10 minutes[Timer]
OnCalendar=*:0/10
AccuracySec=1s
Unit=kline_dumper-restart.service[Install]
WantedBy=timers.target

把这些文件copy到 /etc/systemd/system目录

二、使用配置
1、执行下面的命令:

sudo systemctl daemon-reload
sudo systemctl enable --now kline_dumper.service
sudo systemctl enable --now kline_dumper-restart.timer

2、检查状态:

systemctl list-timers --all | grep kline_dumper
systemctl status kline_dumper-restart.timer

如果运行正常,刚一般会看到下面的输出:

● kline_dumper-restart.timer - Restart kline_dumper every 10 minutesLoaded: loaded (/etc/systemd/system/kline_dumper-restart.timer; enabled)Active: active (waiting) since ...Trigger: Fri 2025-05-30 14:20:00 CST; 5min left

当然,也可以像下面这样查看日志:

journalctl -u kline_dumper.service
journalctl -u kline_dumper-restart.service
http://www.xdnf.cn/news/10057.html

相关文章:

  • Python中的变量、赋值及函数的参数传递概要
  • ch12 课堂参考代码 及 题目参考思路
  • E. Melody 【CF1026 (Div. 2)】 (求欧拉路径之Hierholzer算法)
  • shadcn/ui
  • 探索智能仓颉:Cangjie Magic开发体验全记录
  • 昂瑞微在蓝牙亚洲大会上隆重推出新一代超低功耗蓝牙SoC芯片OM6627
  • 基于微服务架构的社交学习平台WEB系统的设计与实现
  • 换行符在markdown格式时异常
  • 无人机视角海上漂浮物检测与人员救援检测数据集VOC+YOLO格式2903张6类别
  • Linux安装及管理程序
  • 经营分析会,财务该怎么做?
  • 智能制造全场景数字化解决方案
  • 虚拟旅游:打破时空界限的新体验
  • Centos7搭建zabbix6.0
  • Python训练营---Day40
  • 操作系统学习(五)——线程通信
  • 调用Gensim库训练Word2Vec模型
  • 缓存穿透、缓存击穿、缓存雪崩目前记录(纯日记)
  • cocosCreator 1.8 升级到 2.4
  • 制作一款打飞机游戏63:自动保存
  • SpringAI系列 - 升级1.0.0
  • 大模型-modelscope下载和使用chatglm3-6b模型
  • 运维 pgsql 安装完后某次启动不了
  • 骨架工程—组织主数据管理
  • MySQL常见故障排查与性能优化
  • ReactJS 中的 JSX工作原理
  • Haption在危险、挑战性或受限环境中操作的情况提供了一种创新的遥操作解决方案
  • 在 Linux 上安装 `pgvector`(这是一个 PostgreSQL 的向量类型扩展,常用于处理嵌入向量,便于进行向量相似度搜索)
  • 使用el-input数字校验,输入汉字之后校验取消不掉
  • 《认知觉醒》第一章——大脑:一切问题的起源