第一次写脚本,帮忙完善一下,(已解决)谢谢

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
realmon
帖子: 15
注册时间: 2007-01-10 9:21
来自: 北京

第一次写脚本,帮忙完善一下,(已解决)谢谢

#1

帖子 realmon » 2008-01-20 15:53

用来下载voa的mp3,学英语用,呵呵。

代码: 全选

#!bin/bash
#get current date yyyyMMdd
today=`date +%Y%m%d`
#set today's filename
filename=special_english$today.mp3
echo "today's filename is:"$filename  
if [ ! -e $filename ]; then
	#wget -i url.txt -O $filename
	wget ftp://8475.ftp.storage.akadns.net/mp3/囗囗囗/english/spec/special_english.mp3 -O $filename &
else
	echo "today's file is downloaded already,quiting..."
fi
不知道如何让系统自动执行这个脚本,比如每天的22:00。
还有问题就是如果下载过程中发生错误,就会导致当天不再下载,我想加一个check,如果文件小于5M就重新下载。
上次由 realmon 在 2008-01-20 23:18,总共编辑 1 次。
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15

#2

帖子 iblicf » 2008-01-20 16:06

自动就 crontab -e
------------------------------------------
# m h dom mon dow command
0 22 * * * ~/bin/you_script

判断就这么用 wget

i=0
while [ $i = 0 ]
do
wget ...........
if [ $? = 0 ];then
i=1
fi
done
上次由 iblicf 在 2008-01-20 16:07,总共编辑 1 次。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#3

帖子 eexpress » 2008-01-20 16:06

man crontab。
文件小于5M
不会都这么严格的大小吧。这么大的mp3啊。
不会取大小。
s=`ls -s freewin.png`;echo ${s%%\ *}
或者用du
● 鸣学
头像
realmon
帖子: 15
注册时间: 2007-01-10 9:21
来自: 北京

#4

帖子 realmon » 2008-01-20 16:12

谢谢两位。
呵呵,voa的special english一般在8M左右,所以我想<5M的肯定就是不完整的了
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15

#5

帖子 iblicf » 2008-01-20 16:16

O , wget 自己 retry ,, 不用这么麻烦
回复