小编P A*_*A N的帖子

设置 systemd 服务在 fstab 挂载后执行

我工作的一个systemd .service是应该启动脚本CIFS网络位置通过安装/etc/fstab/mnt/在启动时。

该脚本首先等待 OpenVPN 依赖脚本启动,但我也希望它等待挂载完成。

/etc/systemd/system/my-daemon.service

[Unit]
Description=Launch My Daemon
After=network.target vpn-launch.service
Requires=vpn-launch.service
Run Code Online (Sandbox Code Playgroud)

我试图添加systemd.mount到行:After=network.target vpn-launch.service systemd.mount,但它没有给出我希望的结果。

debian systemd

68
推荐指数
3
解决办法
9万
查看次数

locate 和 mlocate 的区别

我想安装该命令locate,该命令可通过sudo apt-get installmlocate.

但是,我首先运行sudo apt-get installlocate它似乎安装了其他东西。

locate <package>但是,键入命令似乎会调用mlocate.

什么是包locate,可以(应该)安全地删除它吗?

locate

29
推荐指数
2
解决办法
2万
查看次数

我可以延迟 systemd 脚本在启动时运行吗?

我有两个systemd要在启动时运行的脚本。

  1. 第一个 systemd 脚本启动 OpenVPN,然后执行一个 shell 脚本,将连接的 IP 写入文件vpn.env.

  2. 第二个 systemd 脚本启动传输并且应该绑定到vpn.env.

我的问题似乎是第二个 systemd 脚本的执行太“快”了,在 OpenVPN 可以启动和写入vpn.env.

问题:有没有办法给第二个脚本添加一个延迟,也许是几秒钟,让它等待环境文件被写入?


systemd OpenVPN 脚本

[Unit]
Description=VPN Custom Launch Connection
After=network.target

[Service]
Type=simple
ExecStart=/usr/sbin/openvpn --cd /etc/openvpn --config /etc/openvpn/vpn.conf

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

OpenVPN .sh 脚本,在程序启动时执行

printenv > /etc/openvpn/vpn.env
Run Code Online (Sandbox Code Playgroud)

systemd 传输脚本

[Unit]
Description=Transmission BitTorrent Daemon Under VPN
After=network.target vpn.service
Requires=vpn.service

[Service]
User=transmission
Type=notify
EnvironmentFile=/etc/openvpn/vpn.env
ExecStart=/usr/bin/transmission-daemon -f --log-error --config-dir /opt/transmission --bind-address-ipv4 $ifconfig_local --rpc-bind-address 0.0.0.0 --no-portmap
ExecReload=/bin/kill -s HUP $MAINPID …
Run Code Online (Sandbox Code Playgroud)

boot systemd

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

systemd ×2

boot ×1

debian ×1

locate ×1