Windows でも cron を使う

Windows 環境で cron と同じようなことをする場合、pycron が便利。

Windows 標準の機能として「タスクスケジューラ」というものがあるが、「毎日○時○分」という指定しかできないなど不便なので使うのをあきらめた。

インストール

インストーラがついているので手順に従ってインストールすれば問題ない。Windows 7 では Program Files 以下にインストールすると crontab.txt を編集するときに面倒が起こるので、C:/Apps というディレクトリを作り、そこにインストールした。

pycron は Windows のサービスとしてインストールされる。「ファイル名を指定して実行」から「services.msc」を実行するとサービスの一覧が表示される。そこに「Python Cron Service」という名前のサービスがあればインストール成功。すぐに使う場合はここで起動しておく。

crontab の編集

標準では pycron をインストールしたディレクトリの crontab.txt が使われる。また crontab の編集には付属の crontab.txt Editor という GUI のツールが使える。分、時、日などカラムごとに編集できるので便利。

pycron からコンソールプログラムを動かす

コンソール上で動作するバッチファイルや、Ruby などのスクリプト言語を動かそうとしたとき、タスクを実行するたびにコマンドプロンプトのウィンドウが開いてしまう。バッチファイルならショートカットを作り、ウィンドウ最小化の状態で起動するよう設定すればうまくいくと思ったが、pycron ではショートカットを実行できなかった。

そこで hideconsole というソフトを使う。

通常のコマンドの先頭に「hideconsole 」を追加するだけで、ウィンドウを開かずにコンソールプログラムを動かすことができる。フォーカスを取られることもない。