`

linux startup scripts

 
阅读更多

linux startup scripts

 

------

init & run level

 

init process define 7 run level:

* level 0

shutdown

* level 1 or S

single user mode,

* level 3-5

multiple user mode,

2 or 3, is command line mode,

5, is x-window mode,

4, rarely used,

* level 6

reboot

 

config file:

location:

/etc/inittab

config init process, like default run level, 

e.g.

id:2:initdefault:

 

 

------

scripts

 

location:

/etc/init.d/

orginal startup shell scripts, each script is for a service or an aspect of service,

accept args:

start, stop, restart(not sure support),

/etc/rcx.d/

the x could be: 0,1,2,3,4,5,6,S,

inside each folder, are symbol links to scripts in /etc/init.d,

 

execute rules:

for each level, init process will execute scripts in relative "/etc/rcx.d/" folder,

args for scripts:

start, if script name start with S,

stop, if script name stop with K,

order:

order depends on xx,

 

customize scripts:

steps:

* add/modify/remove orginal scripts in /etc/init.d/,

* add symbol links to /etc/rcx.d/ folder, start with S|K, and a proper order number,

 

distribution specific scripts style:

different distributions, might have some specific scripts style,

e.g. debian/ubuntu has a script "/usr/sbin/update-rc.d" to help customize startup scripts,

 

e.g.

under /etc/rc3.d/

// start oracle-xe in order 20, in level 3

ln -s S20oracle-xe  ../init.d/oracle-xe

 

under /etc/rc0.d/

// stop oracle-xe in order 20, in level 0

ln -s K20oracle-xe  ../init.d/oracle-xe

 

------

debian & ubuntu run level

 

run level:

0 shutdown

1 single

2 multiple user, default,

3-5 same as 2,

6 reboot

 

/etc/inittab file:

debian&ubuntu don't have this file by default, you need to create this file, then use it,

 

update-rc.d command:

help to add/remove init scripts,

use "man update-rc.d" to check help,

e.g.

// add S20foo for level 2/3/4/5, and add K20foo for level 0/1/6, links for foo should not already exists,

update-rc.d foo defaults

 

// remove all links for foo,

update-rc.d -f foo remove

// add S30foo for level 2/3/4/5, and add K25foo for level 0/1/6, links for foo should not already exists,

update-rc.d foo start 30 2 3 4 5 . stop 25 0 1 6 .

 

------

e.g.

 

* add a script to echo a line to a file when startup & shutdown

* script, foo:

		#! /bin/sh
		case "$1" in
		      start)
			    echo -e "startup, $(date)\n" >> /home/eric/startup_script_test.txt
			    ;;
		      stop)
			    echo -e "shutdown, $(date)\n" >> /home/eric/startup_script_test2.txt
			    ;;
		       *)
			  echo "Usage: param only support start|stop"
			  exit 1
			  ;;
		esac
 

 

* add script to run level - by hand:

startup (level 2):

su

cd /etc/rc2.d

ln -s S99foo ../init.d/foo

shutdown:

su

cd /etc/rc0.d

ln -s K99foo ../init.d/foo

restart:

when restart scripts in startup will be execute, but scripts in shutdown might not,

* remove script from run level - by hand:

just remove symbol links,

* add script to run level - ubuntu update-rc.d:

update-rc.d foo defaults

* remove script from run level - ubuntu update-rc.d:

update-rc.d -f foo remove

 

* change ubuntu default run level

* create /etc/inittab, if not exists,

su

vi /etc/inittab

save it,

* set default run level

vi /etc/inittab

add/modify line:

id:3:initdefault:

save it,

 

 

------


分享到:
评论

相关推荐

    FiveM Linux Startup Scripts:在启动时启动FiveM(GTA:V,侠盗猎车手V多人游戏)-开源

    "FiveM Linux Startup Scripts" 是一个针对侠盗猎车手V(GTA: V)多人游戏平台FiveM的解决方案,它允许用户在Linux系统启动时自动启动FiveM服务器,并在服务器意外关闭或崩溃后,能在60秒内自动恢复运行。...

    XShell5-Startup-Script-master.zip

    2. **编辑脚本**:根据你的系统环境(如Windows或Linux)和XShell5的具体版本,可能需要对脚本进行一定的修改。例如,调整时间戳或修改特定的API调用。 3. **配置XShell5**:在XShell5的设置中,找到“启动”或...

    Scripts.rar

    "startup.sh"可能是一个启动脚本,用于在系统启动时执行一系列配置或服务启动命令。 Perl脚本在文本处理和网络爬虫方面表现出色,"scrape_links.pl"可能是用来抓取网页链接并提取相关信息的脚本。 在"Scripts.rar...

    startup.rar

    - **scripts**: 启动过程中执行的脚本,如init.d目录下的脚本,用于启动服务。 - **configuration files**: 与启动过程相关的配置文件,如petalinux-config输出的设置。 开发者可以通过解压这个rar文件,查看和学习...

    基于STM32F103C8T6芯片的linux sdk工程

    此SDK工程,用于指导开发者脱离MDK5等IDE工具,不再安装软件,直接编译。了解编译过程。 另,此工程新增freertos系统,并创建了两个task,用于指导开发者...├── scripts ├── startup ├── system └── tools

    Linux下RMAN备份策略.txt

    startup mount; alter database archivelog; alter database open; ``` 4. **定时任务设置**:使用Cron来安排定时执行备份脚本。 ```bash crontab -e 0 1 * * 0 /opt/app/oracle/rman_bak/scripts/rman_bak....

    Linux服务器部署常用命令

    - **使用示例**:执行命令`sqlplus / as sysdba`后,再执行`startup`。 3. **强制注册服务**:`alter system register;` - **功能说明**:当遇到无法连接或无法识别Service_Name的问题时,可以通过此命令强制...

    linux 火狐浏览器自动全屏

    在地址栏输入`about:config`,然后找到`browser.startup.homepage`这一项,将它的值设置为一个空白页面或你希望全屏打开的页面。接着,寻找`browser.fullscreen.autostart`,双击将其值改为`true`,这样火狐就会在...

    linux 安装网络配置常用命令

    网络配置方面,`ifconfig`显示当前网络配置,`ping`测试网络连接,`tracert`追踪路由,而网络配置可以通过`setup`命令或直接修改`/etc/sysconfig/network_scripts/ifcfg-eth0`文件来完成。 RPM包管理是Linux中软件...

    linux环境Tomcat安装配置手册

    使用 netstat 命令查看 Linux 所打开的端口,然后使用 startup.sh 脚本启动 Tomcat 服务。使用 netstat 命令验证 Tomcat 是否成功启动,查看是否多出了一个 8080 端口。 知识点五:访问 Tomcat Web 页面 使用...

    vmtools-linux.iso

    Startup Programs,Add一个Name叫"vmware-toolbox",Command是"/usr/bin/vmware-toolbox"的启动 程序.这样每次开机后就能自动运行VMware Tools了.重启Ubuntu看看效果吧!(注意:vmware-toolbox并不是在后台隐藏运行的...

    Linux下JAVA的Web开发(环境搭建篇)

    使用`scripts/mysql_install_db`命令初始化MySQL数据库。 4. **启动MySQL服务** 使用`mysqld_safe &`命令启动MySQL服务,并检查服务状态:`ps aux | grep mysql`。 #### 四、安装Apache Tomcat服务器 Apache ...

    嵌入式linux下inittab详解.docx

    在嵌入式Linux系统中,inittab文件是系统启动配置文件的核心组件之一, plays a crucial role in defining the system's initialization process and specifying the commands and scripts to be executed during ...

    linux6.4_oracle11g_Informatica9.6.1的部署安装

    - **网络配置**:编辑 `/etc/sysconfig/network-scripts/ifcfg-eth0` 文件来配置 eth0 接口的 IP 地址、子网掩码和网关。具体操作为: ```shell IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168....

    Linux_上线.docx

    在`/etc/sysconfig/network-scripts/ifcfg-eth0`文件中修改IP配置,确保IP地址、子网掩码、网关和DNS设置正确。 了解基本的Linux命令是非常有用的,例如`ifconfig`用于查看IP地址,`pwd`显示当前路径,`mkdir`创建...

    linux命令总结实用

    若要永久修改,通常需要编辑网络配置文件,如`/etc/sysconfig/network-scripts/ifcfg-eth0`,并重启网络服务。 3. **用户间切换-su** `su`命令用于在不同用户之间切换。使用`su - test`可以从当前用户切换到test...

    linux资源.zip

    sudo /usr/local/mysql/scripts/mysql_install_db --user=mysql ``` 然后启动MySQL服务,并设置开机启动: ```bash sudo mysqld_safe --user=mysql & sudo systemctl enable mysql ``` 首次启动后,你需要通过...

    linux命令帮助文档下载

    - 进入`/usr/java/tomcat/bin`目录下,分别使用`./startup.sh`和`./shutdown.sh`脚本来启动和停止Tomcat服务器。 #### 安装Eclipse - **解压**:使用`tar`命令解压`eclipse.tar.gz`至`/usr/java/eclipse`目录。 - ...

Global site tag (gtag.js) - Google Analytics