ShellScript

Macbookを開いたら処理を実行し明日まで処理を実行しないシェルスクリプト

More than 1 year has passed since last update.

目的

一度実行したら再実行しないシェルスクリプトを毎分叩く事でMacbookを朝開いた時に処理を実行するといった事が可能になるかと思った。ある程度のお仕事はこれで自動化したい。暇つぶしに作ることにしました。

コード

#!/bin/sh

PREFIX=/tmp/hoge-
FLAG_PATH=$PREFIX`date +"%Y%m%d"`

if [ -e $FLAG_PATH ]; then :; else
  rm $PREFIX*
  touch $FLAG_PATH
  echo "処理" || rm $FLAG_PATH
fi

今のところ思いついた処理は上記。実行時にテンポラリディレクトリに実行したというファイルを設置する。次回実行時はそのファイルが存在すれば実行しないようにする。実行している処理が失敗したら実行したというファイルを削除することで再実行される。(再度実行が連続で発生したら問題になるような処理はrmしなければ連続実行されない。)

次の暇を見つけたら、実行中と終了済みというフラグも管理できるようにしたい。なるべく環境構築はしたくないし、10年くらい持たせたいのでシェルスクリプトでなんとかしたい。

もっと良い処理があれば教えてください。