development_creative

この記事は1年以上経過しています。

ConoHaでジョブスケジューラ(cron機能)を使って削除処理を定期実行する方法

作成したサイトで定期的に処理を行いたい時ってありますよね。
今回、弊社ではフォルダ内にあるファイルを毎回決まった時間に削除を行いたいなと思い、
cron機能を使用して定期削除処理を実行しようとしました。

その時の備忘録として「ConoHa wing」でジョブスケジューラを使用し、ファイルの削除処理を定期実行する記事を書きたいと思います。

ジョブスケジューラ(cron機能)とは?

ジョブスケジューラ(cron機能)とはConoHa WINGで「指定したプログラム」を使用して、「指定した時間に自動的に繰り返し処理を実行する」ことができる機能です。

こちらはコントロールパネルから設定ができ、定期処理を行う日時や処理したいプログラムを指定することで、設定した時間に自動的にプログラムが実行されます。

今回、弊社では特定フォルダ内に生成されたファイルを定期削除したいと考え、こちらのジョブスケジューラ機能を使用してみました。

設定方法

①まずはConoHaにログインし、コントロールパネルの上部メニューからWINGをクリックします。

②次にコントロールパネルの左側に表示されるメニューより「サーバー管理」をクリックします。
※もし複数のサーバーをご契約されている場合は設定したいサーバーに切り替えてください。

③表示されるメニューから「ジョブスケジューラ」をクリックします。

④画面に表示されている右側の「+ジョブスケジュール」のボタンをクリックします。

⑤処理したいプログラムの実行日時などを設定していきます。

処理日時

プログラムを実行する日時です。一番右側にあるcronを選択すると細かい実行日時を指定することができます。
ちなみにcronでの設定で、「曜日」は0〜6の数字で指定し、0が日曜日、1が月曜 〜 6が土曜日のような指定方法となります。期間を設定したい場合はハイフンを使用することで指定する事ができます。

cron での設定例)
月: 1
日:12-15
曜日:0
時間:12,15
分:15

上記で1月12~15日の毎週日曜日の12時15分と15時15分に指定したプログラムを実行することができます。

⑤コマンド

こちらに実行したいプログラムを記載します。
今回、指定したフォルダの中のファイルをすべて削除するというプログラムを作ったので、そちらを設置していきます。

プログラムを設置する場合はコマンド欄に
「phpのバージョンを記したパス[半角スペース]プログラムのパス」を記述します。

phpのバージョンの調べ方は下記の通りです。
https://support.conoha.jp/w/configphp/

①左側メニューからサイト管理をクリックします。
②サイト設定をクリックし、応用設定のタブをクリックします。
③phpバージョンの項目に記載されている数値が現在のバージョンとなります。

なお、各バージョンのパスは下記公式ページの質問集の中に掲載されています。
https://support.conoha.jp/wing/faq/website-q/website-setting-q/?show=1141

バージョンとパスがわかったらコマンドを記述していきます。
最初にphpのパスを記述し…
/opt/alt/php●●/usr/bin/php

半角スペースをあけて
/opt/alt/php●●/usr/bin/php

実行したいプログラムのパスを書いていきます
/opt/alt/php●●/usr/bin/php /home/c●●●●●●●/public_html/ドメイン/フォルダ名/実行したいファイル名.php

c●●●●●●● の部分はサーバーIDを記述します。
サイト管理をクリックした後に 応用設定 > .htaccess設定 をクリックすると編集対象にcから始まるIDが表示されるのでそちらをコピペしましょう。

設定は以上です!

ちなみに今回ファイルを削除するphpは下記を使用しました。

<?php
 //ファイルパス ConoHaサーバーのドメイン名のところにあるフォルダ名以下のファイルをすべて削除する
$directory = glob('/home/c●●●●●●/public_html/ドメイン名/public/フォルダ名/*');
 
foreach ($directory as $file){
  //ファイル削除
  if (unlink($file)){
    echo $file.'の削除に成功しました。<br>';
  }else{
    echo $file.'の削除に失敗しました。<br>';
  }
}
?>

Related ariticle

関連記事

TOP