Cron不会运行我的脚本

时间:2011-09-01 06:44:04

标签: cron crontab

我无法让cron运行我的脚本而且我没有想法。 我在这台机器上运行Ubuntu 10.04。 该脚本在命令行中运行,没有任何问题。其他测试脚本有效 并且设置与timelapvid相同。

这是我的crontab -e,其中bench是用户名:

00 00 * * * /home/bin/bench/timelapvid >> /home/bin/timelapvid.log

在Ubuntu中,〜/ bin目录在登录时添加到PATH变量,以避免修改/ bin。

timelapvid的内容:

## timelapse is a dir which contains the still pics
cd ~/bin/timelapse || exit

## only work on new pics, remove the colon, dvd-slideshow doesn't like it
ls -1 | grep  :  > list

for i in `cat list` 
do
 mv $i `echo $i | sed 's/:/./g'`
done

#build the slide show list and change the time for each slide
dir2slideshow -n "Time Lapse Video" . && sed -i 's/:5/:0.5/g' "Time Lapse Video.txt"

# remove the last three lines of the above .txt
lines=$(wc -l < "Time Lapse Video.txt")
target=$((lines-2))
sed -i "$target,$lines d" "Time Lapse Video.txt"

# make the time on the last slide longer
lines=$(wc -l < "Time Lapse Video.txt")
sed -i ""$lines"s/:0.5/:3/" "Time Lapse Video.txt"

dvd-slideshow -f "Time Lapse Video.txt" && mv "Time Lapse Video.vob" ../video   /TimeLapseVideo.vob 

rm list

### Update Web Page 
rsync -r --delete  ~/bin/video/ user@sever:public_html/circuits/timelap/video/

echo -e "\n****UPDATE SUCCESSFUL****\n"
谢谢你, WBG

1 个答案:

答案 0 :(得分:1)

Cron使用自己的最小环境。所以~在你的脚本中毫无意义。如果您在crontab中定义它,可以使用$HOME

# environment
HOME=/home/wbg
# tasks
00 00 * * * /home/bin/bench/timelapvid >> /home/bin/timelapvid.log

此外,您确定自己的/home/bin路径吗?是不是像/home/wbg/bin