vine-users ML アーカイブ



[vine-users:063488] at コマンドについて

  • From: "Kaz Okui" <okui@xxxxxxxxxxxx>
  • Subject: [vine-users:063488] at コマンドについて
  • Date: Tue, 16 Dec 2003 16:27:31 +0900
こんにちは 奥井です
LinuxWorld12月号をみてTV録画に挑戦してますがうまくいきません。
videorec.cgiが動作しないので(予約ができない)自分なりに調べています。
録画するvideorecというスクリプトは単体では動作するのですがatコマンド使い方が
よくわかりません
videorecは引数を2個使うので
$at -f /home/alpha/videorec 2 10 16:00
   parse error Last token seen: 10
   Gabled time
$at -f "/home/alpha/videorec 2 10" 16:00
   warninng : command will be executed using (in order) a)$SHELL b) login
shell c) /bin/sh
   Cannot open input file : Nosuch file or directory
$at -f '/home/alpha/videorec 2 10' 16:00
   warninng : command will be executed using (in order) a)$SHELL b) login
shell c) /bin/sh
   Cannot open input file : Nosuch file or directory

$at -f `/home/alpha/videorec 2 10` 16:00だとすぐにvideorecが動作します。

cronは割と雑誌などに情報がありますがatはあまりみつかりません 上記はalphaで実
行しています
/etc/at.allowにはユーザalphaとapacheをいれました。

引数をもつスクリプトはatでどうやって動作させるのかご教授お願いします。


$SHELLはbashなので関係ないかもしれませんがvideorecの#!/bin/cshを#!/bin/bash
に換えると
line 40: syntax error:unexpected end of fileになってしまいます。これの理由も
わかりません
39行しかないのにline40となっています。


#!/bin/csh
# videorec - Vide HDD Recorder

# (C) 2003 by Taku[ya] [NI]SHIMURA
set size     = 400x300
set rate     = 24
set format   = avi
set vcodec   = mpeg4
set vbitrate = 800
set acodec   = mp3
set abitrate = 64
set datadir  = "/samba/public/"
set auther   = "`whoami`@`hostname`"

if ($#argv < 1) then
    echo "usage: videorec channel[ rectime[ recfile]]"
    exit 1
endif
set channel = $argv[1]
if (1 < $#argv) then
    set rectime = "-t $argv[2]"
else
    set rectime = ""
endif
if (2 < $#argv) then
    set recfile = $argv[3]
else
    set recfile = `date +%Y%m%d-%H%M`
endif
aumix -lR
v4lctl setchannel $channel
ffmpeg $rectime -vd /dev/video0 -f $format -s $size \
       -vcodec $vcodec -b $vbitrate \
       -acodec $acodec -ab $abitrate -ac 2 \
       -author $auther -title $recfile \
       -y $datadir$recfile.$format
exit 0