2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

HameeAdvent Calendar 2020

Day 14

グータンヌーボヌーボを定期実行させてみた

Last updated at Posted at 2020-12-13

はじめに

みなさんおはこんばんちは。Hameeアドカレ13日目です。
結論からはじめにお伝えすると。

「デートの食事」に悩んだ時、グータンヌーボヌーボする。
これをcronから実行できるようにしたという話

もうcron知ってるわ!
今更マサラタウンすぎwww

って方も多いと思いますが!今年業務でもcronに触れる機会はなんどかあり、ちょうど自分でも使ってみたいなと思ったので昔の記事を改造してcronで実行できるようにしました。♻️

前回までのあらすじ

わたくしグータンヌーボヌーボという番組をこよなく愛しておりまして、「いつか番組で登場したお店に行ってたい!!!」という己の願望を叶えるために、TwitterAPILINEAPIを使って以下のことを行っていました。

  1. 事前にLINEbotアカウントを作成&友達追加
  2. phpファイルをローカル環境で実行
  3. グータンヌーボ公式ツイッターからAPI経由でお店情報を取得
  4. 2.で取得したお店情報を1.で作成したLINEBotアカウントを引数にLINEAPIを実行
  5. LINEBotがお店情報を投稿

課題点

課題点は一つ。phpファイルを自分自身で実行しなければいけないこと。
この1年、自分でこのphpファイルを実行したことは1度もなかったです。
そもそもデートもしなかったし、必要となることなかったし当然だた:angel:

ということで定期実行できるように設定してみました。

やったこと

以下のcrontabコマンドを実行し簡単設定して終わり:sunny::sunny:
番組の放送は毎週火曜 深夜0:25~0:55で
Twitterの更新は前後しているので毎週水曜の夜中の0:00に設定
cronの時間設定についてはこちらの方の記事をご参考ください

crontab -e
0 0 * * 3 php /path/workspace/Gutan_Nouveau/Gutan.php

ちゃんと動作するのか気になる・・・!!!
気になるので試しに日曜の17:10に起動するのかデバッグ...
ちなみに5つめの7が日曜にを表しているのですがここは0でも日曜日を表してくれるようです。

10 17 * * 7 php /path/workspace/Gutan_Nouveau/Gutan.php

きtら!!!!!!!!!!!!🎉🎉🎉🎉🎉🎉🎉🎉
スクリーンショット 2020-12-13 17.33.14.png

とはいえ

めちゃめちゃ簡単に定期実行行う事ができたのですが、さすがにこれじゃ、、、と思いcronについて少し調べてみました。

crontabオプション

man crontab でcrontabについて調べてみる。
どうやらオプションは4つしかない。
-u で実行できるユーザーの指定。-l 設定済のcron情報を確認。-r cronの削除。-e cronの設定。

 -u      Specify the name of the user whose crontab is to be tweaked.  If this option
         is not given, crontab examines ``your'' crontab, i.e., the crontab of the
         person executing the command.  Note that su(1) can confuse crontab and that
         if you are running inside of su(1) you should always use the -u option for
         safety's sake.

 -l      Display the current crontab on standard output.

 -r      Remove the current crontab.

 -e      Edit the current crontab using the editor specified by the VISUAL or EDITOR
         environment variables.  The specified editor must edit the file in place; any
         editor that unlinks the file and recreates it cannot be used.  After you exit
         from the editor, the modified crontab will be installed automatically.```

気になったところ

そもそも、これディレクトリとか指定しなかったのにどこにできたのかな〜〜
って思ってたらcrontab -eした時に以下のディレクトリ出てた

/tmp/crontab.Bu5SvCojm0" 1L, 72C

でも実際にディレクトリをみてみたら存在していなかった。
んん〜〜〜〜〜と思ってwhichしたらヒットは一件

$which crontab
/usr/bin/crontab

調べたら、これはどうやらcrontabコマンドの本体ファイル
再起動してもcrontab -lで確認したら設定は残っていたのでメモリに保存されている??(詳しい方いたら教えてください。。😭😭😭)

最後に

ただただ、crontab使ってみたって話でした。
補足ですが、 グータンヌーボのTwitterは最近お店情報をTwitterに載せなくなった らしく
デートの時にお店に困ってもグータンヌーボも教えてくれなくなったので詰みです。

定期実行思ったよりも簡単だなって思えたので
今後もいろんな使い方してみたいなって気持ちになりました。☀️☀️☀️

参考記事:【cron】定期的に処理を行う【MacOS】【Linux】
https://qiita.com/syunyo/items/69c3523a8c500b37f33f
各ユーザのcrontabファイルの場所について
https://qiita.com/iganari/items/5a61ec93d989f7c77a2c

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?