見出し画像

RapidCopyProをコマンドラインで定期実行する その1

RapidCopySuite に同梱されている業務版の「RapidCopyPro」を使うとコピー処理をコマンドライン経由で制御でき、定期実行などが可能になります。

必要なアプリ

RapidCopyPro
ターミナル.app
Automator.app
カレンダー.app

「ターミナル」でコマンドラインの動作を確認する

まずはターミナル.appでコマンドライン経由のRapidCopyProが正しく動作するか確認しましょう。

画像8

まずは動作をテストします。テスト用ファイルを作成し、ターミナルにRapidCopyProを制御するコマンドを記述します。

RapidCopyコマンドラインヘルプは以下を御覧ください

※コマンドラインのテストは差分コピーの「difモード」でテストをおすすめします。同期モード(syn)は間違うとファイル消失の大事故につながります。テストファイルで十分にテスト後に運用されることをおすすめします。

RapidCopyProを「パッケージの内容を表示」し、コマンドを実行させるパスを確認します。
以下の黒いアイコン「RapidCopyPro」がコマンドラインで実行させる場合のアプリ本体になります。

画像9

通常のインストールでは以下のようなパスになります。

/Applications/RapidCopyPro.app/Contents/MacOS/RapidCopyPro


■コマンド例(差分コピー difモードの場合)

アプリのパスを先に記述します。--toオプション以後がコピー先のパスになります。
--cmd dif は「差分コピー」モード
です。

/Applications/RapidCopyPro.app/Contents/MacOS/RapidCopyPro --cmd dif --to /Users/Myname/Desktop/copytest/ /Users/Myname/Desktop/memo/ --force_close --open_window

--toオプションの記述位置はどちらでも機能します。
※RapidCopyの仕様上、ソース側は複数設定できますが、--to(コピー先)は1つのパスしか設定できません

/Applications/RapidCopyPro.app/Contents/MacOS/RapidCopyPro --cmd dif /Users/Myname/Desktop/memo/ --to /Users/Myname/Desktop/copytest/ --force_close --open_window

コマンドの最後に以下のコマンドを組み合わせて付与します

--open_window:実行時にアプリGUIが開きます。
--force_close :エラーが発生しても終了するとアプリGUIが閉じます
--auto_close : エラーが発生した場合、アプリGUIが閉じません。

コマンドライン制御中にRapidCopyのGUIを表示したい場合は
 --open_window を付与してください。

動作テスト中は以下のオプションがおすすめです。
--auto_close --open_window

コマンドで正常にRapidCopyProが動作したらこのコマンドをAutomatorに入力していきます。

Automatorを設定する

Automatorを起動します。「カレンダーアラーム」を選択します。

スクリーンショット 2019-04-05 12.04.57

左側リストから「ユーティリティ」の「シェルスクリプトを実行」を選択し、右側のウィンドウにドラッグ&ドロップします。

スクリーンショット 2019-04-05 12.05.18

ここに先程のテスト済みのコマンドを以下の画像のようにBOXにコピペします。

スクリーンショット 2019-04-05 12.05.36

記述したらAutomatorを「保存」します。誤動作を避けるため名前は英数字をおすすめします。
ここで設定した「名前」がカレンダーアプリに登録されます。

スクリーンショット 2019-04-05 12.06.07

設定した名前が「カレンダー」に現時刻で登録されます。
※注意点としては保存した瞬間コマンドが「即実行」されてしまいます。スクリーンショット 2019-04-05 12.09.45

単純にカレンダーのスケジュールに連動してAutomatorで作成したコマンドが実行されます。
スケジュールを編集し、「繰り返し」を「毎日」に設定すればデイリーバックアップも可能です。

この場合は毎朝5時に実行されます。

スクリーンショット 2019-04-05 14.25.22

カレンダー上が毎日5:00にバックアップスケジュールが設定されました。

スクリーンショット 2019-04-05 12.11.30

この連携機能はカレンダー.appが「Automatorで生成された.app」を実行しています。 実行される「アプリ化されたコマンド」は以下のディレクトリに保存されます。
/Users/[ユーザー名]/Library/Workflows/Applications/Calendar

スクリーンショット 2019-04-05 14.46.15.1

この『.app』はもちろんダブルクリックで実行すれば即コマンドを実行することができます。

Automator経由でカレンダー登録すると即実行されてしまうなどのデメリットもあります。
次の記事では先にAutomatorで.appを生成し、あとからカレンダー.appにスケジュール登録する方法を説明します。

written by kuboe


※免責事項※
本記事はレスパスビジョンがMACOS10.14/RapidCopyProで確認したものになります。このTIPS内の内容、解説は将来のバージョンにおいて保証できるものではありません。本記事内で公開している全ての手法の有用性、安全性について、当方は一切の保証を与えるものではありません。これらの手法を使用したことによって引き起こる直接的、間接的な損害に対し、当方は一切責任を負うものではありません。自己責任でご活用ください。特にコマンドラインの実際の業務使用の前には十分なテストをお願い致します。

みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!