centos7如何实现在关机前执行脚本

我们经常会用到开机执行脚本

比如服务器要开机自启动,开机启动nginx

那么如何实现关机前自动执行脚本

>为什么有这种需求
本人在阿里云上搭建了科学上网,按需使用,想实现关机前自动调用阿里云的停机不收费接口
省着每次登录到阿里云点击停止,相当的麻烦,有时还忘记了,忘记了就会多付费

关机脚本

cat /usr/bin/shutdown_cust.sh
```
#!/bin/bash
echo "zhengchangguanji" >> /tmp/log.log
```

`chmod +x /usr/bin/shutdown_cust.sh`

设置关机执行

cat /lib/systemd/system/cust_shut.service

```
[Unit]
Description=poweroff cust
After=getty@tty1.service display-manager.service plymouth-start.service
#Before=systemd-poweroff.service systemd-reboot.service systemd-halt.service
Before=systemd-poweroff.service systemd-halt.service
DefaultDependencies=no

[Service]
ExecStart=/usr/bin/shutdown_cust.sh
Type=forking
[Install]
WantedBy=poweroff.target
#可以不需要,我们只需要关机执行脚本
WantedBy=reboot.target
WantedBy=halt.target
```

软连接

```
ln -s /usr/lib/systemd/system/cust_shut.service /usr/lib/systemd/system/halt.target.wants/
ln -s /usr/lib/systemd/system/cust_shut.service /usr/lib/systemd/system/poweroff.target.wants/
#可以不需要,我们只需要关机执行脚本
ln -s /usr/lib/systemd/system/cust_shut.service /usr/lib/systemd/system/reboot.target.wants/
```

重启 查看tmp下面会不会多出来log.log 文件

    A+
发布日期:2021年05月31日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: