SikuliXバッチファイルを時刻起動させる方法【MAC編】

自動化

無料のRPAツールSikuliX(シクリ)で作ったスクリプトを夜間PCを使ってない間に自動で動かすことが出来たら楽ですよね。

毎日の作業の場合、「起動すること」ですら積み重なると大きな工数 + 心理的負担になるので、起動も含め完全自動化しましょう。

環境

mac OS Mojave ver10.14
SikuliX IDE2.0.1
Java SE Development Kit 13.0.2

SikuliXバッチファイルを時刻起動させる方法

バッチファイルの作成

まずSikuliXのスクリプトをバッチファイルにする必要がありますが、バッチファイルの作成方法が知りたい方は以下に方法を記載してますのでご参照ください。

SikuliXスクリプトをバッチファイルから実行する方法【MAC編】
MAC PCでSikuliX(シクリ)をバッチファイルから実行する方法を本記事でまとめます。「SikuliX IDEを起動して実行ボタンを押す行為」すらも自動化したいと考えている方にはオススメです。

Automatorの作成

次に”.command”の拡張子が出来たら、それを実行するアプリケーションを「Automator」で作成します。

AutomatorとはMACの操作を自動化できる標準アプリです。Lanchpad > その他 の中にいますのでクリックして開きます。

次に「書類の種類の選択」にてアプリケーションをクリック。

次に「ユーティリティ」 > 「シェルスクリプトを実行」とクリックし、下記ボックスに作成したバッチファイル(sample.command)のパスを入力。

「ファイル」 > 「保存」にてバッチファイルを格納しているフォルダと同じフォルダに保存すると拡張子「.app」のファイルが出来ました。siku.appという名前にしてます。

crontabの作成

次に”.app”を実行するジョブスケジューラーを作成しますが、cronで作成します。
macOSはLinuxのスケジューラー同様、指定された日付や時刻に自動的にジョブを実行するような設定が可能です。

ジョブを特定の日時で繰り返し実行させるために以下コマンドを実行します。

macusernoMacBook-Air:~ macuser$ crontab -e

するとcrontabの編集画面になるので、以下のように入力します。(毎日深夜02時00分に実行)

00 02 * * * open /User/macuser/Desktop/Sikulix/siku.app

(参考)crontabファイルの書式 は以下の通り
分 時 日 月 曜日 コマンド
・分 — 0〜59
・時 — 0〜23
・日— 1〜31
・月— 1〜12
・曜日— 0(日曜)〜6(土曜)

以上で完了です。

(補足)crontabで直接バッチファイルを実行すればいいのでは?と思われるかもしれませんが、バッチファイルを直接crontabで実行する場合、バッチファイルの中にあるjavaコマンドがうまく動作しませんでした。

cronで実行する場合、最低限のPATHしか用意されてないため、cronで実行するときのみ有効になるようPATHやJAVA_HOMEといった環境変数をバッチファイルに設定するといった手間が発生します。(手間と感じない方はこの方法の方がいいかも。。)

しかし、crontabとバッチファイルの間に「Automator」で作成した.appを噛ませるとバッチファイルを.appが実行することになり、この設定が不要になるというわけです。

タイトルとURLをコピーしました