【Linux】systemd.timer replace the crontab or at jobs
systemd 架构
学习 Systemd 的第一步,就是搞懂"单元"(unit)是什么。
简单说,单元就是 Systemd 的最小功能单位,是单个进程的描述。一个个小的单元互相调用和依赖,组成一个庞大的任务管理系统,这就是 Systemd 的基本思想。
由于 Systemd 要做的事情太多,导致单元有很多不同的种类,大概一共有12种。举例来说,Service 单元负责后台服务,Timer 单元负责定时器,Slice 单元负责资源的分配。
每个单元都有一个单元描述文件,它们分散在三个目录。
-- /lib/systemd/system:系统默认的单元文件
-- /etc/systemd/system:用户安装的软件的单元文件
-- /usr/lib/systemd/system:用户自己定义的单元文件
要点
- 1. 上述单元目录中创建同名前缀的文件,如 joewancn.timer , joewancn.service
- 2. 只需要启动对应的 joewancn.timer
- 3. joewancn.service定义需要执行的操作
-- 3.1 不要设置enable或者start它,因为它有对应的timer服务管理
-- 3.2 脚本中的所有(报考系统自带)执行程序都必须使用绝对路径,
案例
-- 简单的例子
https://unix.stackexchange.com/questions/198444/run-script-every-30-min-with-systemd
-- 结合mailx发送邮件
https://www.cnblogs.com/chengkanghua/p/12708584.html
分类:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?