1
/
5

crontabを使って自動化しようというお話し

おはようございます!ヒプスターSE/営業/採用担当の原田です。

記入者のモチベーションを保つためにも、記事を見てくださった方は是非いいね!をお願いします(*'ω'*)

シェアをして頂けたらいつも泣いていますがやっぱり泣いて喜びます(ノД`)・゜・。


さて、前回予告していましたがcronについてお話ししていきます。

cronは「クーロン」「クローン」「クロン」どう呼ぶのか議論になることもしばしばありますが、私はクーロン派です!宗教戦争は望んでいません平和的解決を望みますm(_ _)m

このlinuxコマンドは、処理を行いたい実行文を指定した日時に実行してくれる素晴らしいものです。

ゲームだと、例えばログインボーナスなんかがあると思います。

ログインボーナスも色々な設計方法があると思いますが、テーブルにログインボーナスを受け取ったぞというステータスを持っておいて、受け取る前は0、受け取った後は1になるとします。

ゲーム内部の処理としてログインボーナスを日が経ったら0にする、となると人によってはログインボーナスを受け取っていない状態がいつになるか変わってしまいます。

0時00分に処理が走って全員のログインボーナス受け取り状態を0にしたいですよね。

そういう時に、webページにアクセスしなくてもサーバ側で勝手に処理させようというのがcronの使い道です。


さて画像を見てください。さくらvpsは定期的にrootやmysqlなど固定のユーザー名に攻撃を受けているので150018回も前回アクセス時から攻撃を受けていますw

まあ直でrootにログインできないようにしているのでいいのですが・・・

で、crontab -lと入力したところ1行だけ表示されています。

-l(エル)は今設定に書かれている内容を表示するオプションです。crontabを変更する際には必ず一度-lを実行するように教えられました。linuxで変更すると元に戻せなくなるので。

お次にcrontab -eを実行すると、viと同じ画面になります。

viと同じようにcronの設定を書いていきましょう。

certbot renewというのはLet's Encryptの期限(3か月)更新作業を行うコマンドです。

BASIC認証が設定されているサイトではこれは通用しませんが、そうでない場合はこれでいけるかと思います。

左の数字が何を意味しているかは・・・ご自分で調べてみてください。すぐわかると思います('◇')ゞ

ちなみに右側はlinuxコマンドだけでなく、php /var/www/html/php/batch/batch_reset_loginbonus.php のように書いても実行されます。この場合はphpを動かして該当ファイル自体を実行するようになります。

このphpファイルには、htmlやcssを書いてもwebページとして表示するわけではないので意味がありません。このようにプログラムのみ書かれているファイルをバッチファイルと言います。


弊社では社会人インターン(学生の場合卒業間近の方or近々に就職を考えている方)と社員を募集しております。

社員の場合は実務経験3年以上、3年未満の場合はインターンでのご応募となります。

私たちとお仕事しましょう!お待ちしております!

話しを聞きに行きたいのところにはインターンの募集を貼っていますが、実務3年以上の方向けの募集もありますのでそちらも是非見て頂ければと思います!

株式会社ヒプスター's job postings
1 Likes
1 Likes

Weekly ranking

Show other rankings
If this story triggered your interest, go ahead and visit them to learn more