Linux关机时执行指定脚本功能实现
<p><strong>1.关机时执行某个脚本的具体思路</strong></p>
<p>
(1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name;</p>
<p>
(2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文件的链接文件K07file_name:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_92516">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">sudo ln -s /etc/init.d/file_name /etc/rc0.d/K07file_name</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">sudo ln -s /etc/init.d/file_name /etc/rc6.d/K07file_name</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
(3)在文件夹/var/lock/subsys/下生成与file_name同名的文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_786422">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">sudo mkdir -p /var/lock/subsys/</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">sudo touch /var/lock/subsys/file_name</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
说明:关键字K07仅需要在文件夹/etc/rc0.d/和/etc/rc6.d/内添加,在/etc/init.d/和<br>
/var/lock/subsys/里面不需要添加。</p>
<p>
<strong>2.举例—在Linux关机时执行脚本snaking616</strong></p>
<p>
脚本snaking616内容如下:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightercpp" id="highlighter_893419">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="cpp preprocessor">#!/bin/bash </code>
</div>
<div class="line number2 index1 alt1">
<code class="cpp plain">cd /etc/init.d </code>
</div>
<div class="line number3 index2 alt2">
<code class="cpp plain">echo </code><code class="cpp string">"admin"</code><code class="cpp plain">|sudo -S touch eth_set_100 </code>
</div>
<div class="line number4 index3 alt1">
<code class="cpp plain">echo </code><code class="cpp string">"admin"</code><code class="cpp plain">|sudo -S chmod 777 eth_set_100 </code>
</div>
<div class="line number5 index4 alt2">
<code class="cpp plain">echo "#!/bin/bash </code>
</div>
<div class="line number6 index5 alt1">
<code class="cpp plain">echo </code><code class="cpp string">"admin"</code><code class="cpp plain">|sudo -S ethtool -s eth1 autoneg off speed 100 duplex full" > eth_set_100</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
脚本在系统关机时会在文件夹/etc/init.d下自动生成脚本文件eth_set_100,并将以下内容写入该文件内:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightercpp" id="highlighter_902358">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="cpp preprocessor">#!/bin/bash </code>
</div>
<div class="line number2 index1 alt1">
<code class="cpp plain">echo </code><code class="cpp string">"admin"</code><code class="cpp plain">|sudo -S ethtool -s eth1 autoneg off speed 100 duplex full</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
具体实现方法如下:</p>
<p>
(1)打开终端创建脚本文件snaking616</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_857020">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">sudo touch /etc/init.d/snaking616</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">sudo chmod 777 /etc/init.d/snaking616</code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml plain">sudo gedit /etc/init.d/snaking616</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
填写以下代码:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightercpp" id="highlighter_243363">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="cpp preprocessor">#!/bin/bash </code>
</div>
<div class="line number2 index1 alt1">
<code class="cpp plain">cd /etc/init.d </code>
</div>
<div class="line number3 index2 alt2">
<code class="cpp plain">echo </code><code class="cpp string">"admin"</code><code class="cpp plain">|sudo -S touch eth_set_100 </code>
</div>
<div class="line number4 index3 alt1">
<code class="cpp plain">echo </code><code class="cpp string">"admin"</code><code class="cpp plain">|sudo -S chmod 777 eth_set_100 </code>
</div>
<div class="line number5 index4 alt2">
<code class="cpp plain">echo "#!/bin/bash </code>
</div>
<div class="line number6 index5 alt1">
<code class="cpp plain">echo </code><code class="cpp string">"admin"</code><code class="cpp plain">|sudo -S ethtool -s eth1 autoneg off speed 100 duplex full" > eth_set_100</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
(2)创建连接文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_621208">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">sudo ln -s /etc/init.d/snaking616 /etc/rc0.d/K07snaking616</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">sudo ln -s /etc/init.d/snaking616 /etc/rc6.d/K07snaking616</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
(3)在文件夹/var/lock/subsys/下生成与snaking616同名的文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_773072">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">sudo mkdir -p /var/lock/subsys/</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">sudo touch /var/lock/subsys/snaking616</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
当系统关机时间,在文件夹/etc/init.d下,会自动生成脚本文件eth_set_100。</p>
<p>
原文链接:http://blog.csdn.net/snaking616/article/details/78680021</p>
頁:
[1]