免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10456 | 回复: 14
打印 上一主题 下一主题

crontab command 后带两个参数问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-23 10:36 |只看该作者 |倒序浏览
00 00 * * * /home/souni/scripts/mkdir.sh 2>1 &
50 09 * * * /home/souni/scripts/channel_1.sh 1800 mms://10.10.100.252:7010  2>1 &

以上这条是我在root用户  crontab -e 写入的,前面一条运行正常,后面一条到了 9点50分,它却不运行。

请问高手们,是因为后面一条的后面添加了两个参数吗?有参数的crontab 应该如何写?  
还是其他原因?

/home/souni/scripts/channel_1.sh 1800 mms://10.10.100.252:7010   这条命令在终端输入运行,是完全没有错的。

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
2 [报告]
发表于 2010-03-23 10:45 |只看该作者
你如何确认它没运行?
你的脚本能单独跑吗?
贴出哪一时刻的日志,crontab的日志。

论坛徽章:
0
3 [报告]
发表于 2010-03-23 10:53 |只看该作者
恩,确认他没有跑,channel_1.sh是一个录制程序,因为如果跑了的话,会在一个目录下生成一个音视频文件的,可是文件没有产生。

并且/home/souni/scripts/channel_1.sh 1800 mms://10.10.100.252:7010 这条命令也单独跑,运行正常

当时的日志 只有以下两条:
Mar 23 09:50:01 localhost crond[19310]: (root) CMD (/home/souni/scripts/channel_1.sh 1800 mms://10.10.100.252:7010 2>1 &)
Mar 23 09:51:28 localhost crontab[19437]: (root) LIST (root)

论坛徽章:
0
4 [报告]
发表于 2010-03-23 10:58 |只看该作者
[root@localhost 2010-03-23]# /home/souni/scripts annel_1.sh 1800 mms://10.10.100.252:7010
开始录制: ch1-20100323-09:51:40.wmv
开始时间: 20100323-09:51:40
录制时长: 1800
录制地址: mms://10.10.100.252:7010
mplayer缓冲cache设置:32 K
=======================================
mplayer -cache 32 mms://10.10.100.252:7010  -dumpstream -dumpfile ch1-20100323-09:51:40.wmv < /dev/null 2>&1 &
=======================================
初始mplayer的pid:19441
restart程序启动
原mplayer的pid : 19441
现mplayer的pid : 19441
不需重启mplayer
restart程序启动
原mplayer的pid : 19441
现mplayer的pid : 19441
不需重启mplayer
现在mplayer进程
中止mplayer进程19441
录制完成!

这是我在终端运行的这条命令,是成功的

论坛徽章:
0
5 [报告]
发表于 2010-03-23 11:05 |只看该作者
那就这样写
将/home/souni/scripts annel_1.sh 1800 mms://10.10.100.252:7010这条命令写成一个脚本,假设s是/root/test.sh
加上执行权限
然后在crontab上写50 09 * * * /root/test.sh &
试试看行不行。

论坛徽章:
0
6 [报告]
发表于 2010-03-23 11:19 |只看该作者
那就这样写
将/home/souni/scripts annel_1.sh 1800 这条命令写成一个脚本,假设s是/root/test.sh
加上执 ...
tanyangxf 发表于 2010-03-23 11:05



    这个方法我试过了,可以

但是这样只限于单条的crontab job

我是用一个脚本,从数据库中读取了很多数据库,其中有时间这一列,  时间有很多不同,所以我只好分别写入crontab中,如果把这些命令写入到一个脚本中,那么我只能在某个时间执行那个脚本,然后脚本中的所有命令都执行了。

论坛徽章:
0
7 [报告]
发表于 2010-03-23 11:20 |只看该作者
我有多条这样的


00 12 * * * root run-parts /home/souni/scripts/channel_1.sh 6000 mms://10.10.100.252:7010 2>1 &
00 18 * * * root run-parts /home/souni/scripts/channel_1.sh 3600 mms://10.10.100.252:7010 2>1 &
35 09 * * * root run-parts /home/souni/scripts/channel_1.sh 1800 mms://10.10.100.252:7010 2>1 &
。。。。。。。。

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
8 [报告]
发表于 2010-03-23 13:02 |只看该作者
其实,你能单独执行!我关注,你的脚本中的系统环境变量的引入,你脚本中是如和写的,还有
你可以

50 09 * * * /home/souni/scripts/channel_1.sh 1800 mms://10.10.100.252:7010  > /tmp/out.txt  2>1 &

在脚本的最开始,加上 set -xv,就是为了看到调试信息
其实就是想看反正crontab中的shell脚本在执行是,是一个nologin shell,而且是非交换模式,这时,它带到有那些环境变量和系统变量的加载。

论坛徽章:
0
9 [报告]
发表于 2010-03-24 10:18 |只看该作者
50 09 * * * /home/souni/scripts/channel_1.sh 1800 mms://10.10.100.252:7010  > /tmp/out.txt  2>1 &

这条命令我现在改成了
50 09 * * * /home/souni/scripts/channel_1.sh 1800 >/home/souni/log &
从指定的log中来看,程序执行了,只是没执行成功。
我不明白,为什么我在终端直接执行
/home/souni/scripts/channel_1.sh 1800  是成功的


但为什么在crontab中就执行出错

具体执行记录在下条回复

论坛徽章:
0
10 [报告]
发表于 2010-03-24 10:25 |只看该作者
[root@localhost scripts]# ./channel_1.sh 200
开始录制: ch1-20100324-10:16:45.wmv
开始时间: 20100324-10:16:45
录制时长: 200
录制地址: mms://10.10.100.252:7010
mplayer缓冲cache设置:32 K
=======================================
mplayer -cache 32 mms://10.10.100.252:7010  -dumpstream -dumpfile ch1-20100324-10:16:45.wmv < /dev/null 2>&1 &
=======================================
初始mplayer的pid:23804
restart程序启动
原mplayer的pid : 23804
现mplayer的pid : 23804
不需重启mplayer
restart程序启动
原mplayer的pid : 23804
现mplayer的pid : 23804
不需重启mplayer
现在mplayer进程
中止mplayer进程23804
录制完成!

################################
以上是成功的,以下是失败的
#################################


[root@localhost souni]# more /home/souni/log
开始录制: ch1-20100324-10:23:01.wmv
开始时间: 20100324-10:23:01
录制时长: 200
录制地址: mms://10.10.100.252:7010
mplayer缓冲cache设置:32 K
=======================================
mplayer -cache 32 mms://10.10.100.252:7010  -dumpstream -dumpfile ch1-20100324-10:23:01.wmv < /dev/null 2>&1 &
=======================================
初始mplayer的pid:23871
restart程序启动
原mplayer的pid : 23871
现mplayer的pid :
重新启动mplayer
新mplayer的pid : 23881
重试次数1
restart程序启动
原mplayer的pid : 23871
现mplayer的pid :
重新启动mplayer
新mplayer的pid : 23891
重试次数2
。。。。。。。。。。。。。。。。
重试次数10
restart程序启动
原mplayer的pid : 23871
现mplayer的pid :
超出重试次数退出!
restart程序启动
原mplayer的pid : 23871
现mplayer的pid :
超出重试次数退出!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP