过敏专科免疫专科 發表於 2023-10-10 00:00:00

CentOS下采用Crontab实现PHP脚本定时任务

<p>
        简单实现一个需求,每5分钟往特定表中插入2条数据。经过分析还是采用crontab方式靠谱,另外执行php脚本的方式,不用担心链接超时等问题。</p><p>
        1、准备工作,创建1个数据表“person”,</p><div class="jb51code"><div><div class="syntaxhighlightersql" id="highlighter_486394"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><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><div class="line number7 index6 alt2">
                                                                7</div><div class="line number8 index7 alt1">
                                                                8</div><div class="line number9 index8 alt2">
                                                                9</div><div class="line number10 index9 alt1">
                                                                10</div><div class="line number11 index10 alt2">
                                                                11</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="sql keyword">create</code> <code class="sql keyword">table</code> <code class="sql plain">`person` (</code></div><div class="line number2 index1 alt1">
                                                                        &nbsp;</div><div class="line number3 index2 alt2"><code class="sql spaces">&nbsp;</code><code class="sql plain">`firstname` </code><code class="sql keyword">varchar</code><code class="sql plain">(100) </code><code class="sql color1">not</code> <code class="sql color1">null</code><code class="sql plain">,</code></div><div class="line number4 index3 alt1">
                                                                        &nbsp;</div><div class="line number5 index4 alt2"><code class="sql spaces">&nbsp;</code><code class="sql plain">`lastname` </code><code class="sql keyword">varchar</code><code class="sql plain">(100) </code><code class="sql keyword">default</code> <code class="sql color1">null</code><code class="sql plain">,</code></div><div class="line number6 index5 alt1">
                                                                        &nbsp;</div><div class="line number7 index6 alt2"><code class="sql spaces">&nbsp;</code><code class="sql plain">`age` </code><code class="sql keyword">varchar</code><code class="sql plain">(100) </code><code class="sql keyword">default</code> <code class="sql color1">null</code><code class="sql plain">,</code></div><div class="line number8 index7 alt1">
                                                                        &nbsp;</div><div class="line number9 index8 alt2"><code class="sql spaces">&nbsp;</code><code class="sql keyword">primary</code> <code class="sql keyword">key</code> <code class="sql plain">(`firstname`)</code></div><div class="line number10 index9 alt1">
                                                                        &nbsp;</div><div class="line number11 index10 alt2"><code class="sql plain">) engine=innodb </code><code class="sql keyword">default</code> <code class="sql plain">charset=latin1; </code></div></div></td></tr></tbody></table></div></div></div><p>
        2、创建1个php脚本“test.php”,实现往数据库表中插入的操作,这个脚本可以放到任何位置。ps:建议不放到wwwroot根目录下,因为这样的话,用户可以通过url就可以进行访问了,这样的安全不高,但是有一些方便之处,我们使用自带的一些php框架,例如ci、tp等,也可以使用自己封装的一些业务通用类!综合考虑实际情况进行决定。</p><div class="jb51code"><div><div class="syntaxhighlighterphp" id="highlighter_966904"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><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><div class="line number7 index6 alt2">
                                                                7</div><div class="line number8 index7 alt1">
                                                                8</div><div class="line number9 index8 alt2">
                                                                9</div><div class="line number10 index9 alt1">
                                                                10</div><div class="line number11 index10 alt2">
                                                                11</div><div class="line number12 index11 alt1">
                                                                12</div><div class="line number13 index12 alt2">
                                                                13</div><div class="line number14 index13 alt1">
                                                                14</div><div class="line number15 index14 alt2">
                                                                15</div><div class="line number16 index15 alt1">
                                                                16</div><div class="line number17 index16 alt2">
                                                                17</div><div class="line number18 index17 alt1">
                                                                18</div><div class="line number19 index18 alt2">
                                                                19</div><div class="line number20 index19 alt1">
                                                                20</div><div class="line number21 index20 alt2">
                                                                21</div><div class="line number22 index21 alt1">
                                                                22</div><div class="line number23 index22 alt2">
                                                                23</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="php plain">&lt;?php</code></div><div class="line number2 index1 alt1">
                                                                        &nbsp;</div><div class="line number3 index2 alt2"><code class="php variable">$con</code> <code class="php plain">= mysql_connect(</code><code class="php string">&quot;localhost&quot;</code><code class="php plain">,</code><code class="php string">&quot;root&quot;</code><code class="php plain">,</code><code class="php string">&quot;idodopass01!&quot;</code><code class="php plain">);</code></div><div class="line number4 index3 alt1">
                                                                        &nbsp;</div><div class="line number5 index4 alt2"><code class="php keyword">if</code><code class="php plain">(mysql_select_db(</code><code class="php string">&quot;test&quot;</code><code class="php plain">,</code><code class="php variable">$con</code><code class="php plain">))</code></div><div class="line number6 index5 alt1">
                                                                        &nbsp;</div><div class="line number7 index6 alt2"><code class="php plain">{</code></div><div class="line number8 index7 alt1">
                                                                        &nbsp;</div><div class="line number9 index8 alt2"><code class="php plain">mysql_query(</code><code class="php string">&quot;insert into person (firstname, lastname, age) values (&#39;peter&#39;,&#39;griffin&#39;,&#39;35&#39;)&quot;</code><code class="php plain">);</code></div><div class="line number10 index9 alt1">
                                                                        &nbsp;</div><div class="line number11 index10 alt2"><code class="php plain">mysql_query(</code><code class="php string">&quot;insert into person (firstname, lastname, age) values (&#39;glenn&#39;,&#39;quagmire&#39;,&#39;33&#39;)&quot;</code><code class="php plain">);</code></div><div class="line number12 index11 alt1">
                                                                        &nbsp;</div><div class="line number13 index12 alt2"><code class="php functions">echo</code> <code class="php string">&quot;chenggong&quot;</code><code class="php plain">;</code></div><div class="line number14 index13 alt1">
                                                                        &nbsp;</div><div class="line number15 index14 alt2"><code class="php plain">}</code></div><div class="line number16 index15 alt1">
                                                                        &nbsp;</div><div class="line number17 index16 alt2"><code class="php plain">mysql_close(</code><code class="php variable">$con</code><code class="php plain">);</code></div><div class="line number18 index17 alt1">
                                                                        &nbsp;</div><div class="line number19 index18 alt2"><code class="php spaces">&nbsp;</code></div><div class="line number20 index19 alt1">
                                                                        &nbsp;</div><div class="line number21 index20 alt2"><code class="php functions">echo</code> <code class="php string">&quot;string&quot;</code><code class="php plain">;</code></div><div class="line number22 index21 alt1">
                                                                        &nbsp;</div><div class="line number23 index22 alt2"><code class="php plain">?&gt; </code></div></div></td></tr></tbody></table></div></div></div><p>
        3、创建crontab任务</p><div class="jb51code"><div><div class="syntaxhighlighterbash" id="highlighter_174713"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><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="bash functions">crontab</code> <code class="bash plain">-e</code></div><div class="line number2 index1 alt1"><code class="bash plain">*</code><code class="bash plain">/5</code> <code class="bash plain">* * * * </code><code class="bash plain">/usr/local/php/bin/php</code> <code class="bash plain">/home/wwwroot/default/test</code><code class="bash plain">.php</code></div></div></td></tr></tbody></table></div></div></div><p>
        关于crontab命令参考链接</p><p>
        4、其他</p><p>
        查看运行日志的路径:/var/log</p><p>
        &nbsp;<img style="max-width:100%!important;height:auto!important;" title="CentOS下采用Crontab实现PHP脚本定时任务" alt="CentOS下采用Crontab实现PHP脚本定时任务" src="https://zhuji.jb51.net/uploads/img/202305/cd8f00497769af8b1f0fe2ea5677e71f.jpg"/></p><p>
        以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。</p><p><br/></p>
頁: [1]
查看完整版本: CentOS下采用Crontab实现PHP脚本定时任务