佳云博客一个教你赚钱省钱、副业兼职的博客!专注省钱赚钱20年!关注我教你如何轻松赚钱!
当前位置:佳云博客 > 干货教程 > 技术干货 > 正文

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

07-28 技术干货

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。具体脚本要实现什么功能就自己发挥了。

版权保护: 本文由 佳云博客 原创,转载请保留链接: https://www.garyun.com/gan/166.html

站长推荐: 爱诺伊影视|高清电影|热门美剧: 高清电影在线观看