Cron定时任务应用到Thinkphp首先我们先了解一下Crontab命令,最后再给大家介绍如何应用到Thinkphp.如果你已经了解过Crontab命令,可以拉到最后看如何应用到Thinkphp<br>
<br>
安装crontab:<br>
<br>
yum install crontabs<br>
<br>
<br>
关于cron的一些命令:<br>
<br>
<br>
/sbin/service crond start //启动服务 <br>
<br>
/sbin/service crond stop //关闭服务 <br>
<br>
/sbin/service crond restart //重启服务 <br>
<br>
/sbin/service crond reload //重新载入配置 <br>
<br>
查看crontab服务状态:service crond status<br>
<br>
手动启动crontab服务:service crond start<br>
<br>
查看crontab服务是否已设置为开机启动,执行命令:ntsysv<br>
<br>
加入开机自动启动: chkconfig –level 35 crond on<br>
<br>
<br>
crontab命令介绍<br>
<br>
<br>
功能说明:设置计时器。 <br>
<br>
<br>
语 法:crontab [-u ][配置文件] 或crontab [-u ][-elr] <br>
<br>
<br>
<br>
补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使 用计时器的功能。其配置文件格式如下: <br>
<br>
Minute Hour Day Month DayOFWeek Command <br>
<br>
<br>
<br>
参 数: <br>
<br>
-e 编辑该用户的计时器设置。 <br>
<br>
-l 列出该用户的计时器设置。 <br>
<br>
-r 删除该用户的计时器设置。 <br>
<br>
-u 指定要设定计时器的用户名称。 <br>
<br>
<br>
<br>
<br>
crontab 格式<br>
<br>
<br>
基本格式: <br>
<br>
* * * * * command <br>
<br>
分 时 日 月 周 命令 <br>
<br>
<br>
<br>
第1列表示分钟1~59 每分钟用*或者*/1表示 <br>
<br>
第2列表示小时1~23(0表示0点) <br>
<br>
第3列表示日期1~31 <br>
<br>
第4列 表示月份1~12 <br>
<br>
第5列标识号星期0~6(0表示星期天) <br>
<br>
第6列要运行的命令 <br>
<br>
<br>
<br>
# Use the hash sign to prefix a comment <br>
<br>
# +—————- minute (0 – 59) <br>
<br>
# | +————- hour (0 – 23) <br>
<br>
# | | +———- day of month (1 – 31) <br>
<br>
# | | | +——- month (1 – 12) <br>
<br>
# | | | | +—- day of week (0 – 7) (Sunday=0 or 7) <br>
<br>
# | | | | | <br>
<br>
# * * * * * command to be executed <br>
<br>
<br>
<br>
<br>
crontab文件的一些例子:<br>
<br>
<br>
30 21 * * * /etc/init.d/nginx restart <br>
<br>
每晚的21:30重启nginx。 <br>
<br>
<br>
<br>
45 4 1,10,22 * * /etc/init.d/nginx restart <br>
<br>
每月1、10、22日的4 : 45重启nginx。 <br>
<br>
<br>
<br>
10 1 * * 6,0 /etc/init.d/nginx restart <br>
<br>
每周六、周日的1 : 10重启nginx。 <br>
<br>
<br>
<br>
0,30 18-23 * * * /etc/init.d/nginx restart <br>
<br>
每天18 : 00至23 : 00之间每隔30分钟重启nginx。 <br>
<br>
<br>
<br>
0 23 * * 6 /etc/init.d/nginx restart <br>
<br>
每星期六的11 : 00 pm重启nginx。 <br>
<br>
<br>
<br>
* */1 * * * /etc/init.d/nginx restart <br>
<br>
每一小时重启nginx <br>
<br>
<br>
<br>
* 23-7/1 * * * /etc/init.d/nginx restart <br>
<br>
晚上11点到早上7点之间,每 隔一小时重启nginx <br>
<br>
<br>
<br>
0 11 4 * mon-wed /etc/init.d/nginx restart <br>
<br>
每月的4号与每周一到周三 的11点重启nginx <br>
<br>
<br>
<br>
0 4 1 jan * /etc/init.d/nginx restart <br>
<br>
一月一号的4点重启nginx <br>
<br>
<br>
<br>
*/30 * * * * /usr/sbin/ntpdate 210.72.145.20 <br>
<br>
<br>
每半小时同步一下时间 <br>
<br>
<br>
<b>应用到thinkphp</b><br>
首先你得把要定时执行的功能代码写到Action中。或者可以用URL访问之后可以执行也行。<br>
例如我把定时每天遍历订单是否有成交额的更新代码放在 Order/update_status 下。<br>
而我的项目访问地址是www.jieqinwang.com 即:这个功能的代码执行路径为:http://www.jieqinwang.com/XXX/xxx<br>
得到这个路径之后就可以去liunx去配置cron了。<br>
<br>
crontab -e 进入任务列表。<br>
按下I键进入编辑模式,然后添加一条任务。<br>
比如我想每天中午12点执行一次我刚刚写的那段代码<br>
就添加新的一行 0 12 * * * curl http://www.jieqinwang.com/XXX/xxx<br>
然后按Esc键退出编辑模式,再输入:wq回车。保存退出。<br>
这样我们就添加了一个定时任务。可以利用crontab -l来查看任务列表是否已经含有。<br>
最后一步,因为这样添加进行有可能不会立即生效。我们重启一下cron服务就可以了。<br>
重启服务命令:/sbin/service crond restart <br>
大功告成!如果还有哪里不明白的地方可以发表评论,我会尽快回复的。
AD:真正免费,域名+虚机+企业邮箱=0元

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。
