`

Centos7关机和重启前执行自定义脚本

阅读更多

0. 前言

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

1. 创建systemd服务

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

[Unit]
Description=close services before reboot and shutdown
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
# This works because it is installed in the target and will be
#   executed before the target state is entered
# Also consider kexec.target

[Service]
Type=oneshot
ExecStart=/home/my_script  #your path and filename

[Install]
WantedBy=multi-user.target

 

2. 启动服务

然后执行

systemctl enable stopSrv

经过这两步操作,关机和重启前,就会自动执行你自定义的脚本了

分享到:
评论

相关推荐

    Centos下SpringBoot项目启动与停止脚本的方法

    下面我们将详细介绍如何在Centos系统下使用Maven脚本来启动和停止SpringBoot项目。 Maven插件的配置 在Centos系统下使用Maven插件来启动和停止SpringBoot项目的关键是配置Maven插件。我们可以在pom.xml文件中添加...

    最新Linux命令大全

    - `shutdown` 和 `reboot`: 关机和重启系统。 4. **网络操作** - `ping`: 检测网络连接。 - `traceroute`: 跟踪数据包在网络中的路由。 - `curl`: 从命令行发送HTTP请求,获取网页内容。 - `nc` (netcat): ...

    linux服务器命令用法笔记

    - `chmod`:改变文件或目录的权限,如`chmod 755 file.txt`赋予所有者读写执行权限,其他用户只读和执行。 - `chown`:改变文件或目录的所有者,`chgrp`改变组所有权。 - `find`:根据条件查找文件,如`find / -...

    linux操作以及shell基础

    - **Linux发行版镜像**:本教程使用的是CentOS 7镜像。 - **终端模拟器**:例如SecureCRT,用于远程连接到Linux服务器。 #### 二、Linux安装演示 通过VMware搭建一个虚拟机,并安装CentOS 7操作系统。安装过程中...

    linux设置服务开机自启动的方法

    2. **rc.local**: `rc.local`是Linux启动过程中执行的一个脚本,位于`/etc/rc.local`,用于执行系统启动后的自定义命令。你可以在这个脚本中添加启动服务的命令,例如`/etc/init.d/mysqld start`,这样每次系统启动...

    Linux学习笔记.docx

    本篇笔记重点介绍了在CentOS7环境下的一些核心概念和命令。 1. **分区类型**: - 主分区:最多只能创建4个,可以直接存储数据。 - 扩展分区:最多只能有1个,不能直接存储数据,但可以包含多个逻辑分区。 - 逻辑...

    RoseMirrorHA安装配置手册

    - 安装完成后重启服务器,该步骤在两台服务器上均需执行。 #### 三、配置流程 配置RoseMirrorHA需在中文界面下进行,确保语言设置正确。 1. **应用服务类型选择**:自定义命名,选择数据库类型,编组号默认。 2. ...

    学习Linux 系统

    - `.bashrc`: 自定义Shell配置,包括环境变量和别名。 - `script`: 记录终端会话,`script mysession.log`将所有输入和输出保存到mysession.log文件。 - `source`: 使配置文件生效,`source ~/.bashrc`更新....

    linux笔记

    - `/etc/cron.d/`: 存放用户自定义的定时任务脚本。 #### 十七、数据库定期备份实例 - **备份方法**: - 使用`mysqldump`工具备份MySQL数据库。 - 示例命令: `mysqldump -u root -p database_name > backup.sql`...

Global site tag (gtag.js) - Google Analytics