Linux下Python脚本自启动与定时任务详解
<p><span><strong>前言</strong></span></p>
<p>
最近同事问了一个关于Python脚本自启动与定时任务的问题,发现很多的朋友对这块都不是特别的熟悉,所以本文主要给大家介绍的是关于Linux下Python脚本自启动与定时任务的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍:</p>
<p>
<span><strong>一、让Python随Linux开机自动运行</strong></span></p>
<p>
准备好要自启的脚本auto.py</p>
<p>
用root权限编辑以下文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_716018">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash plain">vim </code><code class="bash plain">/ect/rc</code><code class="bash plain">.</code><code class="bash functions">local</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
在exit 0上面编辑启动脚本的命令</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_65489">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">/usr/bin/python3</code><code class="bash plain">.5 </code><code class="bash plain">/home/edgar/auto</code><code class="bash plain">.py > </code><code class="bash plain">/home/edgar/auto</code><code class="bash plain">.log</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
最后重启Linux,脚本就能自动运行并打印日志了。</p>
<p>
<span><strong>二、让Python脚本定时启动</strong></span></p>
<p>
准备好定时启动的脚本auto.py</p>
<p>
用root权限编辑以下文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_109156">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash plain">vim </code><code class="bash plain">/etc/crontab</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="syntaxhighlighterbash" id="highlighter_193527">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">2 * * * * root </code><code class="bash plain">/usr/bin/python3</code><code class="bash plain">.5 </code><code class="bash plain">/home/edgar/auto</code><code class="bash plain">.py > </code><code class="bash plain">/home/edgar/auto</code><code class="bash plain">.log</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>
<span><strong>三、crontab编写解释</strong></span></p>
<p>
基本格式</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_883684">
<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="plain plain">* * * * * user command</code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain">分 时 日 月 周 用户 命令</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>四、举例说明</strong></span></p>
<p>
1、每分钟执行一次</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_453783">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">* * * * * user </code><code class="bash functions">command</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、每隔2小时执行一次</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_967566">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">* *</code><code class="bash plain">/2</code> <code class="bash plain">* * * user </code><code class="bash functions">command</code> <code class="bash plain">(/表示频率)</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、每天8:30分执行一次</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_460869">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">30 8 * * * user </code><code class="bash functions">command</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
4、每小时的30和50分各执行一次</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_721869">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">30,50 * * * * user </code><code class="bash functions">command</code><code class="bash plain">(,表示并列)</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
4、每个月的3号到6号的8:30执行一次</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_620693">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">30 8 3-6 * * user </code><code class="bash functions">command</code> <code class="bash plain">(-表示范围)</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
5、每个星期一的8:30执行一次</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_615537">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">30 8 * * 1 user </code><code class="bash functions">command</code> <code class="bash plain">(周的范围为0-7,0和7代表周日)</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>总结</strong></span></p>
<p>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。</p>
<p>
原文链接:http://www.jianshu.com/p/5cd74add11ba</p>
頁:
[1]