`

Linux启动/关机时执行脚本

阅读更多

来源:http://blog.chinaunix.net/uid-21209618-id-370787.html

 

在.login中执行相应命令,或在.bashrc(用tcsh shell,在.tcshrc)里写命令。是不行的,.login是在用户登录时执行,用户可能在本地无需登录,或者在远程多个用户登录,多次登录;而.tcshrc是在shell启动时执行,登录后用户一般会多次打开shell,这样该命令或程序就会被多次执行。

Linux 启动顺序:

1、 BIOS自检

2、 运行系统内核并检测硬件

3、 运行系统的第一个进程init

4、 init读取系统引导配置文件/etc/inittab中的信息进行初始化

/etc/rc.d/rc.sysinit------系统初始化脚本

/etc/rc.d/rcX.d/[KS]*------根据运行级别配置服务

/etc/rc.d/rc.local---------执行本地特殊配置

其它---------不同运行级别的特殊服务

Linux启动运行init程序来启动相关程序初始化,与启动相关的一个概念是运行级,运行级是操作系统当前运行的级别,在不同运行级别上可以定义属于该运行级的启动程序,系统的运行级别可以在/etc/inittab文件指定,与运行级相关运行程序通过从源/etc/rc.d/init.d下链接到目的/etc/rcX.d,这里X为系统的默认运行级别,因此,默认的启动脚本放在/etc/rc.d/init.d下。

事例,任务在启动时运行mm:

方法:

1. 建立自启动脚本/etc/rc.d/init.d/mm,内容为:

#!/bin/bash

/usr/local/bin/*  (注:此内容替换为你想执行的命令)

设置文件的属性为可执行:

#chmod +x /etc/rc.d/init.d/mm

2. 查看计算机运行级别,在文件/etc/inittab里看到id:3:initdefault:,则此系统运行级别为3。

3. 到/etc/rc3.d目录下,把你要执行的可执行文件做一个软连接,而且在命名的时候要以大写S字母开头,S之后的数字大小代表执行顺序的先后,数字越大越靠后执行。

#ln -s /etc/rc.d/init.d/mm /etc/rc3.d/S100mm

#ln -s /etc/rc.d/init.d/mm /etc/rc0.d/K20mm

关机执行脚本:

 1. vi /etc/init.d/mm 

     #!/bin/bash

     ls >/dev/null 2>&1  (此处把ls替换为你自己的内容)

  注意:此处的顺序不能更改,否则达不到想要的效果。此时先将标准输出重定向到 /dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null。

 2. chmod +x /etc/init.d/mm

 3. ln -s /etc/init.d/mm  /etc/rc6.d/K01mm /var/lock/subsys/

 4. 当你在关机时一切在悄无声息的进行着。

注:(1)本人在实验时,做关机运行脚本不成功解决方法。是在 /var/lock/subsys/中建立相同的文件mm,或拷贝或者直接软链接过来 ln -s /etc/init.d/mm /var/lock/subsys/   。

    (2)若在字符界面下只设置开机启动,只在rc3.d目录下链接S100filename便可。
           如:ln -s /etc/init.d/filename  /etc/rc3.d/S100filename

分享到:
评论

相关推荐

    linux关机触发脚本.pdf

    这个目录是Linux启动和服务管理的核心,其中包含了多个系统启动和停止的脚本。 2. **权限设置**:创建的脚本需要赋予执行权限,使用`chmod -f 777 脚本名`命令来设置权限,使任何人都能执行该脚本。 3. **软链接**...

    linux关机触发脚本.docx

    Linux 系统中的关机触发脚本是指在系统关机或重启时执行某个任务的脚本。实现这种脚本需要在 `/etc/rc.d/init.d` 目录下创建一个脚本,并将其链接到 `/etc/rc.d/rc0.d/` 和 `/etc/rc.d/rc6.d/` 目录下。其中,K 开头...

    Linux关机时执行指定脚本功能实现

    ### Linux关机时执行指定脚本功能实现 在Linux系统中,我们经常需要在系统启动或关闭时执行一些特定的任务,比如备份数据、清理临时文件等。为了满足这些需求,Linux提供了一种机制来实现在关机时自动执行指定脚本...

    Linux 启动脚本 完全注释

    总的来说,Linux启动脚本通过`/etc/inittab`和`/etc/rc.d`目录下的脚本协同工作,按照特定的顺序启动系统服务,确保在不同的运行级别下,系统能够正确地运行。虽然不同发行版可能有不同的实现方式,但基本流程和原理...

    在linux下设置脚本自动运行的方法.

    主要分为以下几个方面:创建可执行文件、配置系统启动时自动运行、利用crond定时任务实现自动化以及通过at命令进行一次性任务调度。 #### 创建可执行文件并设置权限 首先,你需要编写一个脚本文件。例如,假设你想...

    linux etc/rc.d 系统启动服务详解

    在Linux操作系统中,`/etc/rc.d` 是一个非常重要的目录,它包含了系统启动时运行的各种脚本和服务配置。这个目录是基于传统的init系统的一部分,主要用于管理系统的启动、停止、重启以及服务的控制。让我们深入了解...

    批量重启动unix、linux系统服务的脚本

    总之,批量重启动Unix或Linux系统服务的脚本能够显著提高IT运维的效率,确保服务的稳定运行,并减少手动操作带来的风险。正确理解和使用这类脚本对于任何Unix/Linux系统管理员来说都是一项重要的技能。

    linux init.d目录理解

    这些脚本相当于 Windows 操作系统中的注册表条目,在系统启动时会执行特定的脚本。为了便于管理和组织这些脚本,引入了 `/etc/rc.d/` 目录结构。 1. **/etc/rc.d/init.d/**:这个目录包含了所有系统服务的启动脚本...

    UPS电源下,自动关机脚本(windows, linux, mac os, esxi)

    停电后,在UPS电源下自动关机 hosts.list 格式:文本,每行一个ip地址 原理:ping一个或者多个未接入UPS电源的网络设备(例如路由网关),如果在设置的时间内ping不通,视为停电了 以下环境均测试过(window2003_...

    Linux系统自动不停重启并计数的shell脚本

    Linux系统自动不停重启并计数的shell脚本

    服务器自动关机脚本(UPS)

    如果发现电池电量低于预设阈值,脚本会启动关机流程。在Linux中,可以使用`shutdown`命令来安全地关闭系统。例如,以下是一个简单的示例脚本: ```bash #!/bin/bash # 定义电池电量阈值 THRESHOLD_BATTERY_...

    Linux14_Shell实例:运行级别脚本

    在Linux操作系统中,运行级别脚本是用于管理系统服务的关键组件,尤其在系统启动、关机或切换运行级别时。这些脚本通常是用Shell语言编写的,因此与"shell"标签紧密相关。运行级别脚本的主要任务是启动、停止或管理...

    Linux下shell自启动程序.zip

    "Linux下shell自启动程序"指的是利用shell脚本在系统启动时自动运行特定的任务或服务。这通常涉及到Linux系统的初始化进程和系统服务管理。让我们深入探讨这个主题。 首先,Linux系统的启动流程包括多个阶段,其中...

    linux下启动mysql服务

    `safe_mysqld` 是一个用于安全地启动 MySQL 服务的脚本,它会在启动 MySQL 之前执行一系列检查以确保安全启动。`&` 符号表示将进程放到后台运行。 #### 二、停止 MySQL 服务的方法 对于停止 MySQL 服务的操作,也...

    linux下informix自启动设置

    在Linux操作系统中,Informix数据库管理系统是广泛应用的关系型数据库系统,尤其在企业级环境中,确保其在系统启动时自动运行是非常关键的。本教程将详细解释如何在Linux下配置Informix自启动设置,以实现数据库服务...

    arm linux系统启动流程

    根据所选的运行级别,初始化进程会执行位于相应目录下的脚本来启动服务。这些脚本位于类似`/etc/rc2.d`这样的目录中,包含了实际的启动命令。 - **服务管理**:为了简化服务的管理,通常使用工具如`update-rc.d`来...

    Linux启动过程

    在加载开机启动程序之后,系统会继续执行`/etc/rc.local`(如果存在)中的命令,这是一个允许用户自定义启动时运行脚本的地方。最后,根据运行级别配置,系统将启动各种守护进程和服务,如网络服务、日志服务、用户...

    Linux启动界面切换图形界面

    ### Linux启动界面切换:图形界面与字符界面的深入解析 #### 概述 在Linux操作系统中,用户可以选择在启动时进入图形界面或字符界面。这一灵活性不仅满足了不同场景下的需求,也为用户提供了多样化的操作体验。...

    linux启动流程.docx

    在深入探讨Linux启动流程之前,让我们先理解一些基本概念。Linux操作系统是一个开源的、类Unix的系统,它的启动过程涉及多个阶段,从硬件初始化到用户界面的呈现。以下是Linux启动流程的详细步骤: 1. 开机自检...

Global site tag (gtag.js) - Google Analytics