ConoHa VPSでCron設定してプログラムを定期的に動かしたいんだけど?
そんなCronの設定方法をこの記事では書いていきます。ConoHa VPSでCentOSを入れてやっていきます。
この記事でやること
- ConoHa VPSでサーバーを立てる
- Cronで実行したいプログラムを作成する
- Cronを設定して定期実行する
ConoHa VPSで何か定期的に実行したい処理がある場合は、どんな風にできるのか参考にしてみてください。
ConoHa VPSでCron使っていきましょう。
ConoHa VPSでサーバーを立てる
まずはConoHa VPSでサーバーを立てます。
- サービス・・・VPS
- VPS割引きっぷ・・・長期利用する場合は利用すると安い
- イメージタイプ・・・CentOS
- rootパスワード・・・rootのパスワード
- ネームタグ・・・管理画面に表示されるサーバーのネームタグ
オプションはSSH Keyは登録しておくと楽です。
全部選択していくだけでサーバーを作成することができるから楽でいいですよね。
サーバーを再構築する場合
既にConoHa VPSを契約していて、既存のサーバーがある場合はそのサーバーを再構築して使うのでもいいでしょう。
新規作成する時同じくOSの選択等をすることができます。
CentOSの初期設定をする
CentOSの初期設定については以下の記事でやっているので、CentOSを使う場合は参考になるかもしれません。
-
ConoHa VPSでCentOS9の初期設定を行う
2022/11/29
そんな疑問を解消するためにこの記事ではConoHa VPSでCentOS9をインストールしたサーバーの設定を行っていきたいと思います。 ConoHa VPSでCentOS使って何かしたい人は少しは参考 ...
作業する上ではユーザー作成ぐらいはやっておくといいです。
cronで実行するプログラムを作成する
何かプログラム言語をインストールして実行してもいいんですが、今回はcronを動かすという目的なので簡単なシェルスクリプトを作って試します。
単純に空のファイルを作成するスクリプトにします。
# scriptsフォルダの作成
$ mkdir /home/kobayashi/scripts
$ cd scripts
# shellファイルの作成
$ vim create_file.php
#!/bin/bash
mktemp /home/kobayashi/scripts/files/XXXXXX
# ファイルが作られるフォルダの作成
$ mkdir files
これで実行するとfilesフォルダにファイルが作られるようになりました。
$ sh create_file.php
このファイルをcronで実行できるようにしていきましょう。
Cronの設定する
実行権限を与える
cronを実行する際にPermissionでエラーが起きてしまうので、ファイルの権限は変えておきます。
$ chmod 700 /home/kobayashi/scripts/create_file.sh
Cronのステータスを確認する
cronが動いているかどうかステータスを見てみます。
$ systemctl status crond.service
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor pre>
Active: active (running) since Tue 2022-11-29 10:27:51 JST; 34min ago
Main PID: 912 (crond)
Tasks: 2 (limit: 2714)
Memory: 1.7M
CPU: 49ms
CGroup: /system.slice/crond.service
├─ 912 /usr/sbin/crond -n
└─25965 /usr/sbin/anacron -s
ActiveならOKです。
# 起動していなかったらstart。
$ systemctl start crond.service
crontabを記述する
crontabで作成したファイルを指定します。
$ crontab -e
* * * * * /home/kobayashi/scripts/create_file.sh
*****は1分毎に実行なので、1分毎にさっき作成したファイルが動いてくれるようになる。
ちょっとして確認してみるとcronが動いていくつもファイルが作られているのが確認できました。
まとめ
簡単なファイルを作ってcronでそれを1分後に指定して実行っていうことをやってみたけど、できましたね。今回はshellファイルだけど、プログラム言語入れて実行すればいろんなことができるはずです。
何か定期的に実行したい処理がある場合には試してみるといいですよ。