自作の録画スクリプトがある。ニュースを10秒間実行し、ファイル名にコメントをつけてtsに録画。引数y を指定しておくと録画後にmp4に圧縮してくれる。
$ recNHK.sh 10 y コメント
これを、指定した時間に自動実行したい。つまりは予約録画をしたい。
いつもは /etc/crontab に書いていたが、1回だけ実行できれば足りるのならatコマンドというのがあるらしい。
やってみる。コマンドをファイル.shから実行するには -f オプションを使うようだ。
これにならって、2018/03/11 22:56 に recNHK.sh を実行する予約をしてみる。
# at 22:56 11032018 -f recNHK.sh 10 y atコマンドテスト
syntax error. Last token seen:
でエラーが出てしまった。引数を解釈していないらしい。atコマンドでスクリプトファイル.sh を実行するときの引数のつけ方を調べなきゃいけない。
追記)
以下テストしたが全てダメだった。
9:00(←18日03月2018年の)を指定して recNHK.sh を10秒間録画し、圧縮はn(ノー実行)、コメント「atコマンドテスト」をつけて実行する例。
失敗)
at 9:00 18032018 recNHK.sh 10 n atコマンドテスト
失敗)
at '9:00 18032018' recNHK.sh 10 n atコマンドテスト
失敗)
at 9:00 18032018 'recNHK.sh 10 n atコマンドテスト'
ファイルを指定するので「-f」オプションをつけてみるものの、やはり失敗する。
失敗)
at 9:00 18032018 -f recNHK.sh 10 n atコマンドテスト
失敗)
at 9:00 18032018 -f 'recNHK.sh' 10 n atコマンドテスト
失敗)
at 9:00 18032018 -f 'recNHK.sh 10 n atコマンドテスト'
追記2)
しばらく思案。発想を変えたらうまくいった。