質問: 勉強のためにGo言語でツールを作ってみました。 大まかな機能としては以下の通りです。 1. `go run main.go` でプログラム起動 2. YouTube から必要な情報をスクレーピングして収集 3. slack に通知 これを1日1回、18時になったら実行したいと考えています。 プログラムの中で「18時になったら実行」はできるのですが、これだと常時PCを起動しておかないといけません。 そこで、「**プログラム自体を18時になったら起動する**」方法がありましたらご教授願いたいです。 Webアプリの場合は AWS や Heroku にデプロイした経験があるのでイメージつくのですが、こちらの知見がありませんので、ご質問させていただいた次第です。 よろしくお願いいたします。
回答: > > プログラムの中で「18時になったら実行」はできるのですが、これだと常時PCを起動しておかないといけません。 > > > つまり質問の前提として、手元のPCを使うが普段はPCの電源をオフにしておく、または18時の時点でオンになっているかオフになっているか不明ということですよね? (そういう前提でなければ、外部にVPSサーバとかクラウドサーバを用意して常時起動しておくほうが楽に実現出来ると思います。) PCの電源を入れた直後に入ることが出来るメニュー画面(BIOS画面とか言います)に指定時間にPCを起動する設定がある場合があります。 またルーター機器は常時ONにしておけるのならルーターの機能で指定時刻にWake On LANパケットを送ることでネットワーク経由でPCの電源を付けるような設定が出来るかもしれません。 PCが起動さえすれば、cronで18:00に起動するとか、起動後から常時動くスクリプトを走らせておいて指定時間にプログラムを起動するようにすれば良いと思います。