如何让ubuntu在关机或重启时执行脚本

背景

客户处有一个挂载目录,必须在关机前执行kill 及umount等命令,否则无法关机,尝试过网络上很多方法,都没法实现,直到看到一篇文章,这是原文地址:https://blog.csdn.net/xiaohu50/article/details/79268538
~感谢作者分享

1.创建你要执行的脚本并赋权

以创建文件夹为示例,后续可方便查看创建时间检查命令的执行情况

root@root:~#  vi /home/admintest/mkdirtest.sh

#!/bin/bash
mkdir /home/admintest/mkdirtest
##写上你要执行的命令
chmod 755 /home/admintest/mkdirtest.sh

2.在system目录创建service并赋权

root@root:~# vi /etc/systemd/system/mkdirtest.service

[Unit]
Description=Run command at shutdown
Requires=network.target
DefaultDependencies=no
Conflicts=reboot.target
Before=shutdown.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/bin/sh /home/admintest/mkdirtest.sh
##上面写上你的脚本绝对路径
[Install]
WantedBy=multi-user.target
root@root:~# chmod 755  /etc/systemd/system/mkdirtest.service

3.重新加载systemd配置

root@root:~# systemctl daemon-reload

4.链接service使其开机启动

root@root:~# systemctl enable /etc/systemd/system/mkdirtest.service

5.查看service状态是否为active及检查目录

root@root:~# systemctl status mkdirtest.service

如图,状态为active为正常
状态

root@root:~# ls -l /home/admintest/

查看命令未执行前的目录结构
目录

6.重启并记下时间,方便核对

root@root:~# reboot

重启
重启

启动后查看文件是否创建及核对时间

root@root:~# ls -l /home/admintest/

如图,命令执行了,创建了mkdirtest文件夹
在这里插入图片描述
我们谨慎一点,再仔细核对创建时间,是否与关机时间对得上

root@root:~# stat /home/admintest/mkdirtest

创建时间
核对重启时间,可以看出文件夹创建是在重启那一瞬间完成的,那么我们也就达到了目的。

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值