min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

bash atコマンドを利用して指定時間に録画実行する → 失敗

自作の録画スクリプトがある。ニュースを10秒間実行し、ファイル名にコメントをつけてtsに録画。引数y を指定しておくと録画後にmp4に圧縮してくれる。

$ recNHK.sh 10 y コメント

f:id:min117:20180318090633p:plain

 

これを、指定した時間に自動実行したい。つまりは予約録画をしたい。

いつもは /etc/crontab に書いていたが、1回だけ実行できれば足りるのならatコマンドというのがあるらしい。

eng-entrance.com

やってみる。コマンドをファイル.shから実行するには -f オプションを使うようだ。

 

f:id:min117:20180311225716p:plain

これにならって、2018/03/11 22:56 に recNHK.sh を実行する予約をしてみる。

# at 22:56 11032018 -f recNHK.sh 10 y atコマンドテスト

f:id:min117:20180311225734p:plain

syntax error. Last token seen:

でエラーが出てしまった。引数を解釈していないらしい。atコマンドでスクリプトファイル.sh を実行するときの引数のつけ方を調べなきゃいけない。

追記)

以下テストしたが全てダメだった。

9:00(←18032018年の)を指定して recNHK.sh 10秒間録画し、圧縮はn(ノー実行)、コメント「atコマンドテスト」をつけて実行する例。

失敗)

at 9:00 18032018 recNHK.sh 10 n atコマンドテスト

f:id:min117:20180318090112p:plain

失敗)

at '9:00 18032018' recNHK.sh 10 n atコマンドテスト

f:id:min117:20180318090146p:plain

失敗)

at 9:00 18032018 'recNHK.sh 10 n atコマンドテスト'

f:id:min117:20180318090329p:plain

ファイルを指定するので「-f」オプションをつけてみるものの、やはり失敗する。

失敗)

at 9:00 18032018 -f recNHK.sh 10 n atコマンドテスト

f:id:min117:20180318090309p:plain

失敗)

at 9:00 18032018 -f 'recNHK.sh' 10 n atコマンドテスト

f:id:min117:20180318090312p:plain

失敗)

at 9:00 18032018 -f 'recNHK.sh 10 n atコマンドテスト'

f:id:min117:20180318090316p:plain

追記2)

 しばらく思案。発想を変えたらうまくいった。

min117.hatenablog.com