我有一个定制的systemd服务,它在一定的条件下自动挂载一些分区。服务执行一个shell脚本,其中包含一些挂载命令。当我直接执行它时,一切正常工作,分区即使在shell脚本返回之后仍然保持挂载。但是当我用systemd启动它时,分区就会被挂载,但是在shell脚本返回之后,它们会自动卸载。我怎样才能把它们装好?
我的定制系统单位:
[Unit]
Description=Automatically mount secondary volumes
[Service]
User=root
WorkingDirectory=/opt/vmount
ExecStart=/opt/vmount/vmount.sh
Restart=no
[Install]
WantedBy=multi-user.target发布于 2023-01-05 10:56:01
我不知道sh/bash脚本中隐藏了什么。这不是通过systemd挂载卷的正确方式。
以下是系统的持久安装方式:
创建:vim /etc/systemd/system/mnt-backup.mount
内容如下:
[Unit]
Description=proper mounting with systemd
[Mount]
What=/dev/sdc1
Where=/mnt/backup
Type=ext4
[Install]
WantedBy=multi-user.target要挂载卷,只需启动它:systemctl start mnt-backup.mount
接下来检查它的systemd状态:systemctl status mnt-backup.mount
并检查它是否实际安装了mount。
为了使它持久:
systemctl enable mnt-backup.mount
注意:所有命令都应该以根用户的身份执行,如果您使用sudo,则需要在shell中的所有命令前面加上它的前缀。
https://unix.stackexchange.com/questions/650294
复制相似问题