Linux关机运行的脚本,Linux关机执行脚本命令应该怎么做?

2023-05-16

Linux关机执行脚本命令应该怎么做?这个要从最近在做一个存储挂载碰到的问题说起。通过iscsi挂载存储,运行程序,然后重启发现系统会卡在磁盘卸载的一步,但是在卸载磁盘前把应用关闭就可以正常重启。找了几个办法都不行,最后就想通过关机自动运行脚本来绕过这个问题。

那么在做这个脚本之前,我们需要先理解Linux的七个启动级别。他们分别是:

rc0: 停机(不能使用)

rc1: 单用户模式

rc2: 多用户模式,但是没有NFS

rc3: 完全多用户模式

rc4: 没有使用,系统预留

rc5: 图形界面模式

rc6: 重启模式(不能使用)

这些目录里有运行的脚本命令。脚本分为两类:KXX,SXX。其中K代表Kill,是停止的意思,S代表Start,是启动的意思。紧跟在后面的数字是优先级,数字越大,优先级越低。

知道了这些,那么linux关机或重启运行脚本命令就可以放在rc0和rc6中。

具体关机执行脚本命令应该怎么做的步骤例如:

一、在/etc/init.d目录下添加关机时的执行脚本snaking616

脚本:

#!/bin/bash

cd /etc/init.d

echo "admin"|sudo -S touch eth_set_100

echo "admin"|sudo -S chmod 777 eth_set_100

echo "#!/bin/bash

echo "admin"|sudo -S ethtool -s eth1 autoneg off speed 100 duplex full" > eth_set_100

脚本在系统关机时会在文件夹/etc/init.d下自动生成脚本文件eth_set_100,并将指定内容写入该文件内。

二、创建连接文件

sudo ln -s /etc/init.d/snaking616 /etc/rc0.d/K07snaking616

sudo ln -s /etc/init.d/snaking616 /etc/rc6.d/K07snaking616

当系统关机时间,在文件夹/etc/init.d下,就会自动生成脚本文件eth_set_100。具体脚本要实现什么功能就自己发挥了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux关机运行的脚本,Linux关机执行脚本命令应该怎么做? 的相关文章

随机推荐