标签 - 自动脚本

自动运行 自动脚本    2022-01-22 18:27:47    7    0    0

如果你在linux系统上启动了很多自己的服务,如果直接执行系统的reboot或者shutdown命令,可能会发生一些异常的现象,所以我们在重启和关机前,应该按照我们的意愿去自定义清理一些服务或者资源等。但是网上的方式大多是以Centos6为教程,修改chkconfig和rc0.d,rc6.d的内容。在Centos7中以及不适用了。
本文就介绍一下在Centos7系统中,使用systemctl的方式来自定义关机前执行脚本。

1、创建systemd服务

vi /usr/lib/systemd/system/stopSrv.service Centos
创建该文件然后加入下面的内容,需要把ExecStart=/home/my_script这一行换成自己的脚本路径

  1. [Unit]
  2. Description=close services before reboot and shutdown
  3. DefaultDependencies=no
  4. Before=shutdown.target reboot.target halt.target
  5. # This works because it is installed in the target and will be
  6. # executed before the target state is entered
  7. # Also consider kexec.target
  8. [Service]
  9. Type=oneshot
  10. ExecStart=/home/my_script #your path and filename
  11. [Install]
  12. WantedBy=halt.target reboot.target shutdown.target

vi /lib/systemd/system-shutdown/stopSrv.service Ubuntu 16.04

  1. [Unit]
  2. Description=Run command at shutdown
  3. # 假设要执行的命令依赖网络
  4. Requires=network.target
  5. DefaultDependencies=no
  6. Before=shutdown.target re