IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux系统(Debian)开机执行脚本或命令的方法 -> 正文阅读

[系统运维]Linux系统(Debian)开机执行脚本或命令的方法

系统版本:
Distributor ID:Debian
Description:Debian GNU/Linux 7.0 (wheezy)
Release:7.0
Codename:wheezy


方式一:

linux的7种运行级别

# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)

使用runlevel命令查看上一个和当前的运行级别
在这里插入图片描述
如果上一个级别是’N’,表明启动后运行级别未改变

/etc/inittab
/etc/inittab是启动时设置和初始化脚本。储存着系统的默认运行级别,在其中有以下内容

# The default runlevel
id:2:initdefault:

表明系统当前运行级别为2

/etc/init.d
在这里插入图片描述
里面储存着各种脚本,它们能够对系统中的服务进行启动,停止等管理操作。这些脚本大多数能够接受start,stop,status,reload等参数。
如,你可以使用以下命令对ssh服务进行重启

/etc/init.d/ssh restart

/etc/rc0.d~etc/rc6.d
在这里插入图片描述
这7个文件夹里面包含的是指向/etc/init.d里面脚本的软连接。文件名字格式都是KNNname和SNNname,以K开头的脚本在启动时发送stop参数,S开头的脚本在启动时发送start参数,NN代表调度优先级,越小优先级越高,name代表脚本名称。
/etc/init.d/rc
根据系统的运行级别在系统启动时来执行相应目录下的脚本。如运行级别为2,则会在启动时执行/etc/rc2.d下面的所有脚本

在linux系统启动过程中,有

  • 启动init进程,依据inittab文件设定运行级别
  • 执行不同级别的脚本程序
  • 执行rc.local

我们只需要在/etc/init.d中建立相应的脚本,并且保证在系统启动时能够被执行就可以了
编辑一个脚本myservice.sh,该脚本在被执行并且接受start参数时,会向用户目录的log.txt写入脚本启动的时间和相应提示

#!/bin/sh
case "$1" in
	start)
		echo [$(date "+%Y-%m-%d %H:%M:%S")] myservice started > /home/a/log.txt
		;;
	stop)
		echo [$(date "+%Y-%m-%d %H:%M:%S")] myservice stopped > /home/a/log.txt 
		;;
	*)
		;;
esac

在/etc/init.d目录下运行update-rc.d命令

sudo update-rc.d myservice.sh defaults 90 

发现rc2.d~rc5.d下面多S17myservice.sh
在这里插入图片描述
表示在运行级别为2~5的情况下,系统启动时会以start作为参数执行/etc/init.d/myservice.sh脚本
之后重启,发现该脚本被成功执行
在这里插入图片描述
如果想取消启动脚本,再次回到/etc/init.d文件夹,运行以下命令

sudo update-rc.d -f myservice.sh remove

方式二:
/etc/init.d/rc.local是linux系统启动的最后阶段会运行的脚本,我们只需要将自启的命令或脚本加入/etc/init.d/rc.local里面就可以了

echo "echo hello > /home/a/log.txt"|sudo tee -a /etc/init.d/rc.local 

在系统启动后,会自动在/home/a/log.txt中写入“hello”
如果需要取消开机启动,只需要编辑/etc/init.d/rc.local文件,删除之前加入的命令就可以了

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-06 17:33:28  更:2022-06-06 17:33:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 19:47:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码