こんなことを思ったことありませんか?
- 🤔< そういえば、1時間前・・何やってたっけ? PCで何の作業してたんだろう
- 🤔< 定期的に自動ログみたいに、スクリーンショット撮ってくれないかな・・・
色々な解決策がありますが・・今回はcrontab使います
理由
- crontab使ってみたかったから
- シェルスクリプトを書いてみたかったから
- 簡単だったから
- mac標準のやつが思うように動いてくれなかったから
準備するもの
- mac
- エディタ(何でもいいです。メモ帳でもいいです)
- ターミナル(macにはじめっから入ってます)
手順
1.シェルスクリプトを用意する
- 好きな場所に(今回はデスクトップ)にフォルダを作ります
- そのフォルダの中に「auto_capture.sh」というシェルスクリプトを作成します
- 今回の場合、指定したURLを開いて、そのあと10待って、スクリーンショットを撮るという動作にしています
# !/bin/bash
# 1個目のサイトを開いて
open https://www.yahoo.co.jp/
# 10秒待って
sleep 10s
# スクリーンショット撮る
/usr/sbin/screencapture -m -C -T0 -x ~/pictures/capture_`date +%Y%m%d%H%M`.png
# 2個目のサイト
open https://www.google.com/
sleep 10s
/usr/sbin/screencapture -m -C -T0 -x ~/pictures/capture_`date +%Y%m%d%H%M`.png
# 3個目のサイト
open https://www.facebook.com/
sleep 10s
/usr/sbin/screencapture -m -C -T0 -x ~/pictures/capture_`date +%Y%m%d%H%M`.png
# 4個目以降のサイトも、URLだけ変えればコピペでいけます
- ターミナルを開いて、「auto_capture.sh」ファイルが置いてあるディレクトリに移動する
$ cd /Users/yourname(登録している名前に変えてください)/Desktop/capture
- スクリプトに実行権限をつける
chmod +x auto_capture.sh
2.crontabを編集する
-
ここで自動的にシェルスクリプトが発火してくれます
-
そのタイマー設定みたいなことをします
-
下のコマンドでcrontabの編集に入ります
$ crontab -e
- ここでVimでの編集になります
- Vimの使い方がわからない場合は、こちらを参考にしてくださいね
コマンドの意味 | 入力するコマンド |
---|---|
編集モードに移行(挿入) | i |
ファイルを上書き保存後終了 | !wq |
- 以下を追加(iで追加)して、保存(!wq)します
00 * * * * ~/capture/auto_capture.sh
↑これで1時間に1回、「auto_capture.sh」が発動することになります。
他の時間指定が知りたい!という場合は、こちらを参考にしてくださいね
まとめ
- 大したコードは書いてないですが、これで自動でスクリーンショットを撮ってくれるようになりました
- 開きたいURLなどはお好きに変えていただくことで、そのサイトが開くようになります