问题: 有一个文件夹 /home/P300T/Backups/9.历史存档/ ,想将其挂栽到/home/P3001T/disk1/9.历史存档/ /home/disk1/3.历史存档/ ,通过systemd 构建了 /etc/systemd/system/home-P3001T-disk1-9.历史存档.mount ,但是在使用 systemctl 命令启动该mount文档时,出现错误提示,如下图:
提示名称错误。 以为是mount文档名不能提前带小数点,于是去掉了9后面的点,仍然报错。 结合后面的字符替代了中文,可以确定是systemd 配置文档不识别中文字符。 所以采用迂回策略,先建立一个 mounthistory.sh 然后编写mounthistory.service,用systemd来执行
1. mounthistory.sh 内容
mount --bind /home/P300T/Backups/9.历史存档/ /home/P3001T/disk1/9.历史存档/
增加可执行权限 chmod +x mounthistory.sh
执行一下做一番测试: ./mounthistory.sh
查看一下是否挂栽成功,然后记得将其卸载
2. mounthistory.service 内容
[Unit]
Description = auto mount history files to ther place!
[Service]
ExecStart =/bin/bash /etc/systemd/system/mounthistory.sh
Restart = no
Type = simple
[Install]
WantedBy = multi-user.target
增加可执行权限 chmod +x mounthistory.service
运行测试 systemctl start mounthistory.service
增加开机自启动 systemctl enable mounthistory.service
3.这里要注意一下 Restart 字段的参数值。
always:不论什么情况,总是重启
no:不管什么情况,退出后不再重启
on-abnormal:正常结束该服务和服务超时,重启
on-abort:没有接收到应有的信号,重启
on-failure:该服务非正常退出,包括被信号终止和超时,重启
on-success:只有正常退出时,重启
on-watchdog:超时退出,重启