PCで特定の処理をスケジューリングして完全自動化(放置)したい。
理想
最小限の電力で完全自動化したい。
- 無人で実行したい
- 人が行う操作は予定を組むだけにしたい
- リアルタイムで操作せずとも予約した通りに実行してほしい
- 電力消費を最小化したい
- 実行しないときは電源を落としたい
案
- PCを自動起動(遠隔起動(Wakeup)等)する
- 所定の処理を実行する
- 2完了後、自動でPCの電源を切る
参考
- Python - 無料で時刻通りのプログラムを実行する方法(python,twitter,bot)|teratail
- https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12168493387
案
- ラズベリーパイを使う(消費電力最小化)
- 定期的(毎日8時)に起動させて処理を実行後に電源切る(できるのか?どうやる?)
- 自分のコンピュータ電源つけっぱなし(電力や発熱の問題)
- 外部サーバに実行させる(費用や手間(契約,操作)がかかる)
- AWS
- Google Apps Engine
問題
- 実装方法が大きく変わる(マシン共通の手段がない)
- 独自の学習をせねばならない
- 独自の環境構築をせねばならない
- 独自の実装をせねばならない
自分マシン
- 自宅サーバの場合
- サーバ実装と管理が必要になる。最も難しくコストが大きいと思われる。課題の割に合わない
- cronなどOS付属のスケジューラを使う場合
- マシンを起動しつづけねばならない。期間が長い場合、無駄が多くなり割に合わない
- BiosのWake ON LAN機能を使う
- この機能搭載マシンでないと使えない
- 有線ネットワークで繋がったマシンによる操作が必要らしい
予約日時に電源ONし、所定処理を実行し、終了と同時に電源OFF、というのが理想。だが実装方法が思いつかない。炊飯器のタイマーみたいに気軽にできる装置などはないものか……。
嫌だが電源つけっぱなしが現実的か。機械的にPC電源ONする装置を作るのは馬鹿げているし…。
借用サーバ
やりたいことの割にリスクが大きすぎる。
- 手間
- 借りるときの手続き
- 毎回利用するときの手続き
- 画面の操作(自動化できない)
- 遷移時間(WEB通信を介するため時間がかかる)
- 費用
- AWS, GAEなどのサービスを使う
- たぶんクレジットカードとか必要
- 使いすぎると膨大な額を請求されるリスクがある
- どんな手違いや犯罪が生じるか想像しきれないため怖い。リスクが大きすぎて割に合わない
- 使わなくてもなりすまされる可能性もある
- 常にアカウントの監視と管理が必須
- 自動化したいのに本末転倒
- 常にアカウントの監視と管理が必須
- 使いすぎると膨大な額を請求されるリスクがある
- たぶんクレジットカードとか必要
- AWS, GAEなどのサービスを使う
所感
まずはPC起動時に実行するなどして半スケジューリングを試してみるのが先か。Linux Mintのcron情報が少ない…。