丁寧に手を抜く

頑張らない努力

Automatorを使って指定時刻にのみDropboxを稼働させる方法

自分はDropboxに大量の写真データやドキュメントを同期している。 そのため、同期がとても遅くてPCに負荷をかける。 日中に作業している時は邪魔になる。 でも別にすぐに同期しないと困るようなことはない。 なので、夜中にだけDropboxアプリが動いてくれればそれでいい。

ということで早速アプリの起動と終了をmacOSで自動化してみた。 以下に手順を紹介する。

Automatorを開く

スポットライトで"Automator"と入力すれば出てくる。出てこない場合は「アプリケーション」フォルダに入っているのでクリックして起動する。

f:id:craftzdog:20180523115307p:plain

こいつはmacの痒いところをかいてくれる、孫の手のようなヤツ。

Dropboxを起動するアプリを作る

新規作成で「Application」を選ぶ。

f:id:craftzdog:20180523115435p:plain

左のカラムからUtilitiesを選び、真ん中のカラムから"Launch Application" を選んで右にドラッグ&ドロップする。 そして、起動するアプリケーションにDropboxを選択する。

f:id:craftzdog:20180523115510p:plain

で、一旦保存する。場所は好きなところに。自分は "~/Applications/" に保存した。

Dropboxを終了するアプリを作る

続いて、同様の手順でApplicationを新規作成する。 次は "Quit Application" を選んで右にドラッグ&ドロップする。

f:id:craftzdog:20180523115804p:plain

そして保存。

f:id:craftzdog:20180523115838p:plain

試しに作成したアプリを起動して見てほしい。 正しくDropboxが起動・終了すればOK。 これで準備は整った。

Cronでスケジューリングする

作成したアプリを望みの時間に起動させたい。 そのためにはサーバ管理者ならおなじみのCronを使う。 Cronは簡単に言うと指定日時に指定のコマンドを実行するためのもの。 ここからはターミナルでの作業になる。

crontab -e

上記コマンドでcron編集画面を開いて、下記のようにルールを記述する。

0 2 * * * open /Users/<user>/Applications/Start\ Dropbox.app
0 6 * * * open /Users/<user>/Applications/Quit\ Dropbox.app

上記の例では毎夜AM2時にDropboxを起動して、毎朝AM6時に終了するようにスケジュールしている。 openというコマンドはFinderでファイルをダブルクリックした時と同じような挙動をCLIでやるためのもの。

以上で、Dropboxの実行を指定時刻のみに制限することができた。便利。