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

用户级定时任务:systemctl --user + linger

不占 root 的用户级 systemd:服务账号自己的 timer 与 service;日志进用户 journal,退出登录仍运行需 enable-linger。

Linux 运维命令速查系统更新于 2026-10-12
用途服务账号自助定时任务
路径~/.config/systemd/user/*.timer
常驻loginctl enable-linger 用户名

创建与启用

创建与启用
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/hello.timer <<'EOF'
[Unit]
Description=user hello
[Timer]
OnCalendar=*-*-* *:00:00
[Install]
WantedBy=timers.target
EOF

cat > ~/.config/systemd/user/hello.service <<'EOF'
[Unit]
Description=user hello job
[Service]
Type=oneshot
ExecStart=/home/deploy/bin/hello.sh
EOF

systemctl --user daemon-reload
systemctl --user enable --now hello.timer
systemctl --user list-timers --no-pager

退出登录仍运行

退出登录仍运行
sudo loginctl enable-linger deploy
loginctl show-user deploy | grep Linger
用户级 unit 的日志:journalctl --user -u hello.service;跨用户排查要分别切到对应用户会话。

易错点

  • 没有 linger 时用户登出即停掉全部用户级 unit(含 timer)
  • user 会话里的 PATH 与系统服务不同,脚本内仍要写绝对路径

数据来源与参考

  • man 1 systemctl(--user)
  • man 1 loginctl(enable-linger)
  • systemd 官方文档:user units

相关工具

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