`

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

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

分享到:
评论

相关推荐

    centos7开机自启动执行脚本

    这里我们将详细探讨如何在CentOS 7中设置开机自启动执行脚本。 1. **使用Systemd配置自启动** CentOS 7采用了Systemd作为初始化系统,它负责管理系统的启动过程和服务。通过Systemd,我们可以创建一个Systemd服务...

    centos系统springboot启动、重启、停止shell脚本

    centos系统springboot启动、重启、停止shell脚本,centos系统springboot启动、重启、停止shell脚本

    CentOS 7 系统优化脚本.docx

    CentOS 7 系统优化脚本 本文档提供了一份 CentOS 7 系统优化脚本,该脚本旨在简化系统管理员的工作,减少重复劳动,使管理员能够更快速地完成系统优化任务。 系统优化菜单 该脚本提供了一个菜单式的系统优化界面...

    Centos7安装PostgreSql全自动部署脚本完整版

    脚本安装的逻辑是什么? ①添加【postgres】用户,数据库安装在postgres用户目录【/home/postgres/disk_d/applications/service/postgresql】路径下, ②给新用户授权 ③解压数据库文件 ④安装数据库依赖包 ⑤编译...

    centos7封装自定义镜像且包含初始化脚本和一些常用软件合集

    在当前环境中,我们有一个名为`qt_centos7.iso`的文件,这可能意味着已经完成了封装过程,其中可能包含了Qt开发环境。假设我们已完成了上述所有步骤,现在可以使用这个ISO文件来创建虚拟机或物理机的安装介质。 ...

    Centos7/8下.vimrc脚本固定格式配置

    Centos7/8下.vimrc脚本固定格式配置

    centos7部署redis脚本

    centos7部署redis脚本///centos7部署redis脚本///centos7部署redis脚本///centos7部署redis脚本///centos7部署redis脚本///centos7部署redis脚本///centos7部署redis脚本///centos7部署redis脚本

    centos7下启动springboot项目启动脚本(shell脚本)

    当出现多个springboot项目需要启动的时候,可以使用脚本启动的方式。这在springcloud项目的开发测试阶段尤为有用。以下展示启动脚本示例,过程中遇到的问题,以及相关的解决办法。 1、启动脚本 #!/bin/sh export ...

    centos 7 MySQL8 离线一键自动安装脚本

    对于Linux系统,尤其是CentOS 7这样的企业级发行版,MySQL的安装和管理至关重要。本文将详细讲解如何在CentOS 7上离线进行MySQL8的一键自动安装。 首先,离线安装意味着我们需要提前下载MySQL8的安装包,并通过本地...

    Centos7安装mongodb一键执行脚本

    Centos7安装mongodb一键执行脚本,适用于以下版本: mongodb-linux-x86_64-rhel70-4.4.20.tgz; mongodb-linux-x86_64-rhel70-5.0.16.tgz; mongodb-linux-x86_64-rhel70-6.0.5.tgz; 将脚本和以上三个安装包拷贝至/...

    Centos7内核升级到5.4.13版本自动化脚本

    本文将详细介绍如何在CentOS 7上自动升级内核至5.4.13版本,基于提供的资源,即`update_kernel.sh`脚本和`kernel`目录。 首先,CentOS 7默认使用的内核版本为3.10,而5.4.13是一个较新的稳定版内核,提供了更多的...

    centos7安装mysql5.x脚本

    在压缩包文件"centos7安装mysql5.x数据库"中,可能包含了上述所有步骤的详细脚本,用于自动化安装过程。使用这样的脚本可以大大提高效率,特别是在需要批量部署的场景下。在使用前,务必根据实际情况对脚本进行适当...

    Centos7openssh9.0rpm包与升级脚本

    3. **运行脚本**:运行脚本来执行升级过程,通常会包含检查当前版本、停用旧服务、安装新RPM包、配置新版本和重启服务等步骤。 ```bash chmod +x upgrade_openssh.sh sudo ./upgrade_openssh.sh ``` 在升级过程中...

    centos7离线升级openssh9.4包含升级脚本

    本文将详细介绍如何在CentOS7系统上离线升级到OpenSSH 9.4,以及如何使用提供的升级脚本来简化这一过程。 首先,我们要理解的是OpenSSH的版本升级对于系统的安全性至关重要。OpenSSH的每次更新都会修复已知的安全...

    CentOS7或RHEL7的安全基线检查脚本

    2. **运行脚本**:在目标CentOS7或RHEL7系统上执行脚本,它会输出不符合基线的项。 3. **分析结果**:根据脚本输出,识别需要改进的安全配置。 4. **修复问题**:按照脚本提示或CIS指南修复不合规的设置。 5. **持续...

    Centos7-jar守护脚本

    Centos7-jar守护脚本

    Centos服务器安全加固脚本

    搜集的几个安全加固脚本,文档列举常用命令,并编写自己的安全加固脚本,Centos6.9验证。

    centos7 ssh免密登录自动化配置脚本(ps:已测试过)

    本文将详细介绍如何使用shell和expect脚本在CentOS7系统上实现SSH免密登录的自动化配置。 首先,我们需要理解SSH免密登录的基本原理。SSH免密登录依赖于公钥认证机制。每个SSH用户都有一个密钥对,包括公钥和私钥。...

    Centos7开机启动自己的脚本的方法

    本文主要聚焦于如何在CentOS 7环境下设置自定义的开机启动脚本,以实现更加方便地管理和控制开机启动的服务。 首先,我们需要创建一个自定义的脚本,例如名为`centnet-service.sh`。这个脚本将包含我们需要在系统...

    Centos7系统巡检.sh

    Centos7系统一件巡检脚本,快速高效获取服务器状态,服务运行状态,密码过期检查等等

Global site tag (gtag.js) - Google Analytics