bash - 如何获得/etc/fstab 中的cifs.mount 挂载完成后的触发

查看:747
本文介绍了bash - 如何获得/etc/fstab 中的cifs.mount 挂载完成后的触发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

如何获得/etc/fstab 中的cifs.mount 挂载完成后的触发

我想挂载一些脚本,但是脚本会访问到一些cifs.mount 之后的目录,我在启动最后的/etc/rc.d/rc.local中执行了脚本发现cifs.mount 还是没有完成!想请教除了nohug或者sleep之外的解决办法!
获得cifs.mount 之后的触发也行

=========================
在stackoverflow上找到了答案,如果需要保持执行需要添加
RemainAfterExit=true
WantedBy = multi-user.target #可能更加合适我现在的应用场景

解决方案

(如果你用systemd) 新开一个unit, 里面写上After=XXX-XXX.mount (根据那个mountpoint 的unit名). 用这个unit启动你的脚本

以下是写都写了系列 ..


systemd是一个管理服务和mount和其他很多东西的东西。每个服务或mount任务都是作为一个"unit"来管理的。

centos7开始也是systemd。如果你是centos 7 就应该已经在用systemd了。

这个gist 定义了一个新的unit, 这个unit会在另一个unit完成后启动。

你还需要systemctl | grep mount 找到你那个cifs mount的unit名 (比如我机器上/var/lib/docker对应的unit是var-lib-docker.mount)。把mount的unit名和你的脚本的执行命令写到上面gist的unit文件里,保存到/etc/systemd/system/run-my-script.service 然后重启。

这篇关于bash - 如何获得/etc/fstab 中的cifs.mount 挂载完成后的触发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆