LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 765|回复: 4

请教:cron的问题--已解决

[复制链接]
发表于 2010-5-23 00:01:00 | 显示全部楼层 |阅读模式
cron版本是vixie-cron-4.1-r10
写了个脚本,在bash里执行很正常,放cron里自动执行时就不起作用了,/var/log/message里总是提示
May 23 00:02:01 localhost cron[25314]: (root) CMD (/usr/local/bin/AutoFans.sh)
May 23 00:02:02 localhost cron[25313]: (root) MAIL (mailed 100 bytes of output but got status 0x004e
请指点一二,谢谢

没搞懂原因但解决了,为此专门装了sendmail来看错误信息,sed 's/[Aa-Zz]//g' 这句有问题,真是奇怪,手动运行这个脚本没错误,放cron中就有问题,最后改成sed 's/[A-Z]//g'  | sed 's/[a-z]//g' ,看了下cron的环境变量是/bin/sh,但这是个到/bin/bash的链接,有什么不同,还请理论高手帮忙厘清其中关系,谢谢
发表于 2010-5-23 12:17:04 | 显示全部楼层
路径路径,先把PATH给定义好,要不都用绝对路径
回复 支持 反对

使用道具 举报

发表于 2010-5-23 12:44:28 | 显示全部楼层
Post by peter_l;2091764
cron版本是vixie-cron-4.1-r10
写了个脚本,在bash里执行很正常,放cron里自动执行时就不起作用了,/var/log/message里总是提示
May 23 00:02:01 localhost cron[25314]: (root) CMD (/usr/local/bin/AutoFans.sh)
May 23 00:02:02 localhost cron[25313]: (root) MAIL (mailed 100 bytes of output but got status 0x004e
请指点一二,谢谢

你怎么知道你这个cron job没有执行?从上面的log看,没有说有错误。
第二个错误,是因为你系统没有类似sendmail的命令?
回复 支持 反对

使用道具 举报

发表于 2010-5-23 13:20:05 | 显示全部楼层
那也总得把你的CRON命令贴出来吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-24 21:29:26 | 显示全部楼层
不好意思,贴脚本和cron

  1. #!/bin/bash
  2. var=`hardwareinfo -i | sed -n '24p;27p;' | sed 's/[Aa-Zz]//g' | sed 's/\://g'
  3. var_FanSpeed=`echo $var | sed 's/^...//'`                                                                    
  4. var_Temperture=`echo $var | sed 's/.....$//'`                                                                  

  5. case $var_Temperture in
  6.   30|31|32|33|34|35)
  7.    if [ $var_FanSpeed != "50%" ]; then
  8.     setfan -s 50 > /dev/null 2>&1   
  9.    fi                                 
  10.   ;;                                   
  11.   36|37|38|39|40)                     
  12.    if [ $var_FanSpeed != "60%" ]; then
  13.     setfan -s 60 > /dev/null 2>&1   
  14.    fi                                 
  15.   ;;                                   
  16.   41|42|43|44|45)                     
  17.    if [ $var_FanSpeed != "80.0%" ]; then
  18.     setfan -s 80 > /dev/null 2>&1   
  19.    fi                                 
  20.   ;;                                   
  21.   46|47|48|49|50)                              
  22.    if [ $var_FanSpeed != "100%" ]; then
  23.     setfan -s 100% > /dev/null 2>&1   
  24.    fi                                 
  25.   ;;                                   
  26.    esac
复制代码


crontab -l

  1. */1 * * * * /usr/local/bin/AutoFans.sh
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表