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

发表时间:2020-03-18 18:07 | 分类:Linux | 浏览:587 次

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://zhangnq.com/3249.html

欢迎您在本博客中留下评论,如需转载原创文章请注明出处,谢谢!

已经有2个回复
Comment (2)
Trackbacks (0)
  1. 青萌  ( 2020.03.19 20:53 ) : #-9

    资源很丰富…

  2. 哈灵游戏  ( 2020.03.23 14:40 ) : #-8

    感谢分享,来学习学习。

  1. 还没有Trackbacks
一键脚本 博客历程 留言联系 文章归档 网站地图 谷歌地图 浙ICP备13025236号-4
托管于阿里云&七牛云 浙公网安备 33021202001057号
Copyright © 2010-2020 章郎虫博客 All Rights Reserved.