やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

定期実行したいが難しい

PCで特定の処理をスケジューリングして完全自動化(放置)したい。

理想

最小限の電力で完全自動化したい。

  • 無人で実行したい
    • 人が行う操作は予定を組むだけにしたい
    • リアルタイムで操作せずとも予約した通りに実行してほしい
  • 電力消費を最小化したい
    • 実行しないときは電源を落としたい

  1. PCを自動起動(遠隔起動(Wakeup)等)する
  2. 所定の処理を実行する
  3. 2完了後、自動でPCの電源を切る

参考

  • ラズベリーパイを使う(消費電力最小化)
    • 定期的(毎日8時)に起動させて処理を実行後に電源切る(できるのか?どうやる?)
  • 自分のコンピュータ電源つけっぱなし(電力や発熱の問題)
  • 外部サーバに実行させる(費用や手間(契約,操作)がかかる)

問題

  • 実装方法が大きく変わる(マシン共通の手段がない)
    • 独自の学習をせねばならない
    • 独自の環境構築をせねばならない
    • 独自の実装をせねばならない

自分マシン

  • 自宅サーバの場合
    • サーバ実装と管理が必要になる。最も難しくコストが大きいと思われる。課題の割に合わない
  • cronなどOS付属のスケジューラを使う場合
    • マシンを起動しつづけねばならない。期間が長い場合、無駄が多くなり割に合わない
  • BiosWake ON LAN機能を使う
    • この機能搭載マシンでないと使えない
    • 有線ネットワークで繋がったマシンによる操作が必要らしい

予約日時に電源ONし、所定処理を実行し、終了と同時に電源OFF、というのが理想。だが実装方法が思いつかない。炊飯器のタイマーみたいに気軽にできる装置などはないものか……。

嫌だが電源つけっぱなしが現実的か。機械的にPC電源ONする装置を作るのは馬鹿げているし…。

借用サーバ

やりたいことの割にリスクが大きすぎる。

  • 手間
    • 借りるときの手続き
    • 毎回利用するときの手続き
      • 画面の操作(自動化できない)
      • 遷移時間(WEB通信を介するため時間がかかる)
  • 費用
    • AWS, GAEなどのサービスを使う
      • たぶんクレジットカードとか必要
        • 使いすぎると膨大な額を請求されるリスクがある
          • どんな手違いや犯罪が生じるか想像しきれないため怖い。リスクが大きすぎて割に合わない
        • 使わなくてもなりすまされる可能性もある
          • 常にアカウントの監視と管理が必須
            • 自動化したいのに本末転倒

所感

まずはPC起動時に実行するなどして半スケジューリングを試してみるのが先か。Linux Mintのcron情報が少ない…。