分享

拾遗:systemctl...

 lichwoo 2021-06-29

参考:https://wiki./wiki/Systemd

systemd 支持普通用户定义的 unit[s] 开机启动

  • systemctl --user enable/disable/start/stop/daemon-reload... xxx.timer/xxx.service...

注:

  • --user 不可省略,因为默认是执行 systemctl [--system],对于系统级 unit[s] 来说,不必显式添加 --system 选项

用户自定义的 unit[s] 可以放置在如下四个位置

  • /usr/lib/systemd/user:优先级最低,会被高优先级的同名 unit 覆盖
  • ~/.local/share/systemd/user
  • /etc/systemd/user:全局共享的用户级 unit[s]
  • ~/.config/systemd/user:优先级最高

 

注:

  1. 用户级 unit 与系统级 unit 相互独立,不能互相关联或依赖
  2. 用户级 unit 运行环境用 default.target,系统级通常用 multi-user.target
  3. 即使用户不登陆,其定制的服务依然会启动

 

示例:backup-work.timer

[Unit]
Description=daily backup work
RefuseManualStart=no
RefuseManualStop=no
 
[Timer]
#系统异常关机错过的定时任务,是否后续补救 Persistent=false #每次开机 10 分钟之后开始生效
OnBootSec=10min
#每天 11:30 执行
OnCalendar=Mon-Fri *-*-* 11:30:00 Unit=backup-work.service [Install] WantedBy=default.target

示例:与 timer 配套的 unit(backup-work.service

[Unit]
Description=daily backup work
RefuseManualStart=no
RefuseManualStop=yes
 
[Service]
Type=oneshot
ExecStart=/home/<user>/scripts/backup-work.sh

...

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多