windows10タスクスケジューラでジョブを管理する【設定方法の備忘録】pythonファイルを定期実行する

Windows、Mac共に仕事やプライベートで利用しているが、会社関係の経理、総務の事務作業はWindowsを利用している。
日頃のルーチンワークなどをタスク管理ツールを使って自動化している。
WEBサイトを運用している方はlinuxサーバーではcronでアクセスの少ない時間(たいてい夜中や朝方)にバックアップととるスクリプトを実行させているかと思う。
今回は、以前の投資関係の記事
【下調べ編】投資歴は16年以上になりますが長らく遠ざかっていたFX取引を再開しようと「MT4」で自動売買を始めてみる事にした
で少しふれた、VPSサーバーのリモートデスクトップ(Windows)を利用して、pythonプログラムを決まった時間で動かす設定を行う備忘録。
MT4を運用する為に、契約したVPSサーバー。契約してみたものの未だMT4での自動売買は勉強中で活用できていない。折角24時間稼働しているサーバーをそのままにしておくのも勿体ないので、SNSのボットを動かすのに使ってみる。
ここで使うpythonプログラムは、tweepyモジュールを利用して決まった文言をツイートするプログラム。APIを利用して作成するが、プログラム作成方法はまた別の機会に…。
ウェブサーバーのように24時間稼働しているサーバー、一般的にはLinuxサーバーが多いと思うが今回はWindows10なので、Windowsのタスク管理ツールタスクスケジューラでの設定となる。GUIでの作業なので設定自体は分かり易いはず…。
タスクスケジューラの登録方法
「タスクスケジューラ」と検索して、時計マークのアイコンのタスクスケジューラを起動させる。
基本タスクの作成をクリックして、
適当な名前と説明を入力する。
ここでは、名前「twitter_bot」、説明「1日1回決まった時間にツイートする。」とする。
次へをクリックし、トリガー設定へ。
ここでは、「毎日」にチェック。そして次へ。
開始欄の日時は、基本タスク設定時の日時になるので、時刻をキリの良い時間に設定しておく(※気にしない方はそのままでよい)。ここでは16:30:00とする。
そして、次へをクリック。
操作はプログラムの開始にチェック。そして次へ。
プログラムの開始の設定で、実行したいファイルを指定する。
プログラム/スクリプトは、今回実行したいのはpythonファイルなので、python.exeの格納場所を入力
C:\Users\(ユーザー名)\AppData\Local\Programs\Python\Python36\python.exe
引数の追加は、実行したいファイル名。
tweet_auto.py
開始は、実行したいファイルが入っているディレクトリ(tweet_auto.pyの格納先)。実行ファイルのカレントディレクトリを指定。
C:\Users\(ユーザー名)\Desktop\twitter_bot
と入力し、次へ。
要約を確認する。
この設定だと、毎日16:30に設定したpythonファイルが実行される。
[完了]をクリックしたときに、このタスクの[プロパティ]ダイアログを開くにチェックを入れ完了をクリック。
すると、プロパティダイアログが開き、「トリガー」タブをクリック。
編集をクリックし、
上記のように設定すると、
当日の16:30から1時間おきに実行するように設定することも可能。
今回は、WEBサーバーと同じように24時間稼働しているサーバー上で運用するが、トリガー設定で「コンピューター起動時」「ログオン時」などの設定もできる。アプリを自動で起動させたいとかある場合は使うかもしれないが、まぁ毎日、毎週など定期的に事項するのが一般的。
自動でアプリを起動させる場合は、デスクトップにとりあえず起動させたいアプリ・ソフトを複数登録したバッチファイルを置いておくだけで事足りると思うけど…。
そんな感じで、タスクスケジューラの基本的な設定方法の備忘録終わり。
WordPress タイトルの下に注意事項(コメント)を挿入するアクションフック