linux – systemd – 依赖于服务的umount设备完成后
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – systemd – 依赖于服务的umount设备完成后,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1915字,纯文字阅读大概需要3分钟。
内容图文
![linux – systemd – 依赖于服务的umount设备完成后](/upload/InfoBanner/zyjiaocheng/958/3e41049ace484702910247db92ebf3bb.jpg)
我正在尝试使用udev规则和systemd实现自动备份机制.我的想法是在热插拔特定的存储设备时启动一个备份例程,与this question完全相似,顺便提一下,我自己提供了一个答案,但在这里我讨论了一些进一步的调整.即我希望在备份服务完成后卸载设备.
一些背景:
到目前为止,我使用udev来启动一个自己运行备份例程的systemd服务.相关文件如下:
backup.service
[Unit]
Description=<DESCRIPTION HERE>
BindsTo=<STORAGE DEVICE UNIT HERE>.device mnt-backup.mount
After=<STORAGE DEVICE UNIT HERE>.device mnt-backup.mount
[Service]
ExecStart=<CALL TO BACKUP SCRIPT HERE>
MNT-backup.mount
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=umount.target
[Mount]
What=/dev/disk/by-uuid/<DEVICE UUID HERE>
Where=/mnt/backup
Type=<FILESYSTEM HERE>
90 backup.rules
KERNEL=="sd*", ATTRS{serial}=="<HD SERIAL HERE>", TAG+="systemd", ENV{SYSTEMD_WANTS}+="backup.service"
问题:
现在我希望在backup.service完成后立即停止mnt-backup.mount.
根据文档ExecStartPost=将在ExecStart =中的命令后执行,所以我尝试添加
ExecStartPost=/usr/bin/systemctl stop mnt-backup.mount
到backup.service,即使我意识到它停止了mnt-backup.mount,to which it is itself bound,据我所知,有效地要求backup.service在mnt-backup.mount之前停止,以便正常停止,从而创建一个循环依赖.
在测试时,它在我遇到内核恐慌之前已经工作了几次,这是我在机器上看到的第一个,所以它让我想知道这是不是原因.
无论如何,我的方法是否正确?
解决方法:
虽然我不确定以前的方法是否可以保证有效,但是有一种替代方案当然看起来更合适.
magic属性称为StopWhenUnneeded.这应该在mount文件的[Unit]下设置为true,因此它变为:
MNT-backup.mount
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=umount.target
StopWhenUnneeded=true
[Mount]
What=/dev/disk/by-uuid/<DEVICE UUID HERE>
Where=/mnt/backup
Type=<FILESYSTEM HERE>
就如此容易.
这种方法的最大优点是systemd明确支持它,因此保证可以工作.
我还强烈建议在服务单元中将RefuseManualStart设置为true,禁止用户手动启动服务.这个想法正是为了自动化备份机制,因此用户不应该明确地启动它,所以最好将这个责任完全留给udev.
内容总结
以上是互联网集市为您收集整理的linux – systemd – 依赖于服务的umount设备完成后全部内容,希望文章能够帮你解决linux – systemd – 依赖于服务的umount设备完成后所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。