Linux关机时执行指定脚本功能实现
1.关机时执行某个脚本的具体思路
(1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name;
(2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文件的链接文件K07file_name:
sudoln-s/etc/init.d/file_name/etc/rc0.d/K07file_name sudoln-s/etc/init.d/file_name/etc/rc6.d/K07file_name
(3)在文件夹/var/lock/subsys/下生成与file_name同名的文件
sudomkdir-p/var/lock/subsys/ sudotouch/var/lock/subsys/file_name
说明:关键字K07仅需要在文件夹/etc/rc0.d/和/etc/rc6.d/内添加,在/etc/init.d/和
/var/lock/subsys/里面不需要添加。
2.举例—在Linux关机时执行脚本snaking616
脚本snaking616内容如下:
#!/bin/bash cd/etc/init.d echo"admin"|sudo-Stoucheth_set_100 echo"admin"|sudo-Schmod777eth_set_100 echo"#!/bin/bash echo"admin"|sudo-Sethtool-seth1autonegoffspeed100duplexfull">eth_set_100
脚本在系统关机时会在文件夹/etc/init.d下自动生成脚本文件eth_set_100,并将以下内容写入该文件内:
#!/bin/bash echo"admin"|sudo-Sethtool-seth1autonegoffspeed100duplexfull
具体实现方法如下:
(1)打开终端创建脚本文件snaking616
sudotouch/etc/init.d/snaking616 sudochmod777/etc/init.d/snaking616 sudogedit/etc/init.d/snaking616
填写以下代码:
#!/bin/bash cd/etc/init.d echo"admin"|sudo-Stoucheth_set_100 echo"admin"|sudo-Schmod777eth_set_100 echo"#!/bin/bash echo"admin"|sudo-Sethtool-seth1autonegoffspeed100duplexfull">eth_set_100
(2)创建连接文件
sudoln-s/etc/init.d/snaking616/etc/rc0.d/K07snaking616 sudoln-s/etc/init.d/snaking616/etc/rc6.d/K07snaking616
(3)在文件夹/var/lock/subsys/下生成与snaking616同名的文件
sudomkdir-p/var/lock/subsys/ sudotouch/var/lock/subsys/snaking616
当系统关机时间,在文件夹/etc/init.d下,会自动生成脚本文件eth_set_100。