cakephpとcentosでcronを行い定期的な処理を実行しよう

cakephpを使用し、1時間に1回、1分に1回など自動的に処理を行ってくれるcron処理を実行していきたいと思います!

これができると、自分の好きなサイトの最新記事を一覧に出力したりとできるのでとても便利が良いです!

大まかな手順

cakephpのsrc/Shellディレクトリにプログラムを作成

centosでcron処理を記述

cakephpでの記述

cakephpのsrc/Shellディレクトリファイルを作成します。

今回はcron処理によって、BaseScrapingControllerをnewし、BaseScrapingControllerがもつgetScraping()メソッドを実行します。

この部分に自分の実行したい処理を作成すれば好きな処理をcornで実行するようにすることができるようになります!

【ScrapingShell.php】

centos側での記述

centosのコマンドラインで以下の手順を行ってください

ファイルを開く

以下のコマンドでファイルの中身を編集していきます。

【コマンドライン】

これでファイルの中身を編集していくことができます。

中身の記述方法に関しては、Vimのよく使うコマンド等で書き込み方を検索してみてください。

参考サイトを最後に紹介しますので、そこにものしておきます。

コマンドの記述

以下のコマンドを書き込み、保存します。

処理の内容は30分毎に先ほど記述したcakephpの処理を実行するという内容になります。

他にも時間の設定方法はたくさんあるので、最後に参考サイトを紹介いたします。

参考サイト

CakePHP2 shellからコントローラを叩く

CakePHP3.2でControllerから自作ディレクトリのクラスをnewしたい!!!!!!!!!

crontabコマンドでの書式の違い

CakePHPのシェルとタスクでcron定時処理を実装する。ついでにデータベースバックアップも。

よく使う Vim のコマンドまとめ

cronを使ってCakePhp3で定期処理

【CakePHP入門】シェル(shell)を実行する方法

クーロン(cron)をさわってみるお

Vim/Viの終了のさせ方