技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

unix/linux:atコマンドの代替コマンド

特定の日時にコマンドが発行されるように登録するatコマンドですが、環境によってはこのコマンドが使用できないことがあります。
特定のユーザでしか実行できないように制御することができたり、OSによってはatコマンドで登録できない仕様(バグ?)があったりするためです。
 
この場合、以下のようなループ処理をワンライナーかつバックグラウンドで使用することで、atコマンドと同じようなことができるようになります。
 
・20:00に/home/hoge/test.txt(空ファイル)を作成するように登録する例
#> (TIME=`date "+%H%M"; while[${TIME} -lt 2000]; do sleep 60; TIME=`date "+%H%M"; done; touch /home/hoge/test.txt) &