LoginSignup
37
40

More than 5 years have passed since last update.

Mac のスクリーンショットを定期的に自動撮影する

Last updated at Posted at 2013-03-15

10分ごととかに Mac スクリーンショットを自動撮影する方法です。ライフログに、あるいはサボり防止に役立つかもしれません。

手順

1. シェルスクリプトの準備

適当なフォルダを作成して、シェルスクリプトのファイルを生成します。(下記サンプルではホーム直下にssというフォルダを作成)

$ cd
$ mkdir ss
$ cd ss
$ touch capture.sh

生成したスクリプトファイルを編集します。(最後のパスは出力先。よしなに変えてください)

#!/bin/bash

/usr/sbin/screencapture -m -C -T0 -x ~/ss/capture_`date +%Y%m%d%H%M`.png

スクリプトに実行権限をつけます。

$ chmod +x capture.sh

※注意:このスクリプトではファイル名に日時をつけているので、画像がどんどん溜まっていくことになります。定期的に溜まったファイルを削除するスクリプトを登録する等、HDDがいつの間にか一杯にならないような工夫をしないと実用的ではないので、ご注意ください。

2. crontab の編集

$ crontab -e

で、crontabの編集に入るので、

*/5 * * * * ~/ss/capture.sh

と書いて保存します。

こうすると5分ごとにスクリーンキャプチャが保存されるようになります。

保存間隔を10分ごとにしたい場合は、次のようにします。

*/10 * * * * ~/ss/capture.sh

ちなみに、現在の crontab の内容を確認するには、-l オプションを使用します。

$ crontab -l

(参考)

crontabの書き方

余談

本件で crontab を初めて使ったのですが、はじめ動作せず困りました。

スクリプトの1行目の

#!/bin/bash

を書いていなかったことと、

screencaptureコマンドを

/usr/sbin/screencapture

とせず

screencapture

とだけ指定していたことが原因でした。

どちらもスクリプトをターミナルから実行する際には問題なかったので、なかなか気付くことができず。。

この辺りは、環境変数の設定とか実行ユーザーとか、環境に依るところなので誰にでも当てはまる話ではないと思いますが、ご参考まで。

Thanks

こちらのリポジトリで方法を知りました。大西さんありがとうございます!

yc2013

37
40
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
40