【发布时间】:2017-01-14 04:53:55
【问题描述】:
我正在为我的 linux 课程建立一个实验室,而老师正在教我们有关 Systemd 的知识。
如何使用此命令创建一个在特定设备挂载时启动脚本的服务: mount /dev/xvdc1 /mnt/backup
我尝试过的
- 使用定时器我检查了
/mnt/backup是否是一个挂载点。 (老师不接受,必须严格事件驱动) - 创建 .mount 单元并使 .service 单元需要 .mount 单元。这种方式在执行命令时没有启动脚本:
mount /dev/xvdc1 /mnt/backup
我想我可能以错误的方式处理这个问题。这是实验室的问题。
"创建一个单元文件,从
/mnt/backup复制所有文件 挂载/dev/xvdc1后立即使用 rsync。"
我知道的:
- 将要挂载的设备将始终为
/dev/xvdc1 - 设备的挂载点将始终为
/mnt/backup - 服务必须基于正在挂载的
/dev/xvdc1启动
这是我的 .service 单元文件
[Unit]
Description=Starts a backup for /dev/xvdc1 when mounted using the mount command.
[Service]
Type=simple
ExecStart=/root/backupscript.sh
ExecStop=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
【问题讨论】:
-
见Set systemd service to execute after fstab mount 和systemd.mount - Freedesktop.org。您的问题可能更适合 StackExchange 网站 Super User、Server Fault 或 Unix & Linux。
-
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops?
标签: linux bash centos7 systemd