拾遺:systemctl --user

參考:https://wiki.gentoo.org/wiki/Systemdspa

systemd 支持普通用戶定義的 unit[s] 開機啓動code

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

注:blog

  • --user 不可省略,由於默認是執行 systemctl [--system],對於系統級 unit[s] 來講,沒必要顯式添加 --system 選項

用戶自定義的 unit[s] 能夠放置在以下四個位置ip

  • /usr/lib/systemd/user:優先級最低,會被高優先級的同名 unit 覆蓋
  • ~/.local/share/systemd/user
  • /etc/systemd/user:全局共享的用戶級 unit[s]
  • ~/.config/systemd/user:優先級最高

 

注:get

  1. 用戶級 unit 與系統級 unit 相互獨立,不能互相關聯或依賴
  2. 用戶級 unit 運行環境用 default.target,系統級一般用 multi-user.target
  3. 即便用戶不登錄,其定製的服務依然會啓動

 

示例:backup-work.timerit

[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.serviceio

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

...class

相關文章
相關標籤/搜索