ひとり勉強ログ

ITエンジニアの勉強したことメモ

【crontab】CentOS7.1でcrontabを使用してマインクラフトをゲーム時にメッセージを表示させる方法

やること

CentOS7.1で立てたマインクラフトサーバーで、crontabを使用して定時にマインクラフト内にメッセージを表示させる。

環境

■OS CntOS7.1(1503)

■マインクラフトのインストールディレクトリ /usr/local/minecraft/

1.「minecraft」ユーザーでログイン

マインクラフトサーバーの実行はユーザー「minecraft」で行っているため、rootなどでログインしている場合はまずログイン。

[bash] [root@localhost ~]# su - minecraft [/bash]

2.メッセージを表示させるシェルスクリプト設置ディレクトリを作成

「/usr/local/minecraft/」内に「msg」というディレクトリを作成。

[bash] [minecraft@localhost ~]$ mkdir /usr/local/minecraft/msg/ [/bash]

3.msgディレクトリ内にシェルスクリプトを作成

朝8時15分に「8:15です。」と表示させるシェルスクリプトを作成する。

viでファイルを作成。ファイル名は「Am08Msg.sh」。

[bash] [minecraft@localhost msg]$ Am08Msg.sh [/bash]

編集モードになり、以下のように記述。

[bash]

!/bin/bash

/usr/local/minecraft/minecraft command "/say 8:15です。" [/bash]

保存して閉じる。

4.シェルスクリプトに実行権限を付与

[bash] [minecraft@localhost msg]$ chmod +x Am08Msg.sh [/bash]

確認すると実行権限が付与されているのがわかる。

[bash] [minecraft@localhost msg]$ ls -l 合計 8 -rwxrwxr-x 1 minecraft minecraft 73 6月 5 22:28 AM08Msg.sh [/bash]

5.crontabに登録

[bash] [minecraft@localhost msg]$ crontab -e [/bash]

crontabが設定してあるファイルがviで開くので、編集モードになり、下記のように記述。

[bash] 15 8 * * * /usr/local/minecraft/msg/AM08Msg.sh [/bash]

保存して閉じると設定完了。

※バージョン1.9.xでは、マルチバイトの文字が文字化けする。 ※バージョン1.10.x以降では文字化けは解消されている。文字化けしている際でもマインクラフトを以下コマンドで再起動すれば、文字化けが解消することも。 [bash] service minecraft restart [/bash]