Roc*_*nch 6 linux service systemd systemctl
我想创建系统服务,该服务(对于每个用户)将在用户登录后立即启动,并以 root 权限在用户的 $HOME 内执行一些工作。
这是示例服务:
[Unit]
Description= My User service
After=dbus.service
[Service]
StandardError=journal
ExecStart=/bin/sh -c "cp -r $HOME/.config /root/backup/$USER/$(date)/" #<- just a sample root task
[Install]
WantedBy=default.target
Run Code Online (Sandbox Code Playgroud)
但 $HOME 或 $USER 变量不可用。如何访问它们?
您可以使用单位说明符来完成此操作:
%h代表用户的主文件夹
%u获取用户的名称
[Unit]
Description= My User service
After=dbus.service
[Service]
StandardError=journal
ExecStart=/bin/sh -c "cp -r %h/.config /root/backup/%u/$(date)/" #<- just a sample root task
[Install]
WantedBy=default.target
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4793 次 |
| 最近记录: |