crontab执行脚本不能正常输出文件

写了一个脚本 打算使用crontab进行定时执行。(注意 这个脚本直接执行没有问题)

#!/bin/bash
DAY=$(date  +"%Y-%m-%d") #获取今日的日期
HOUR=$(date +"%H") #获取当前小时
MIN=$(date +"%M") #获取当前分钟
SQL=/home/wwwlogs/
############################################
# awk说明 
# -F ''
# if -- 将当前小时和时间的数据选择出来
# printf -- 将结果打印成(file1, file2, file3...) 的形式,以便以后输出成sql语句
# > sql.sql -- 输出到sql文件
############################################
touch ${SQL}sql.sql
chmod 777 ${SQL}sql.sql
grep 'oldUser' l.log  | awk -F'[|]+|/| |:' '{if ($4 == "'${HOUR}'" && $5=="'${MIN}'") printf"INSERT INTO yl_ng_log VALUES (\"\",\"'${DAY}' %s:%s:%s\",\"%s\",\"%s\");\n", $4,$5,$6,$16,$11}'>${SQL}sql.sql

我在crontab里面

*/1 * * * * sh /home/wwwlogs/yl_ng_log.sh

我们分钟执行一次 但是输出的sql.sql没有内容啊!!!!!!!这是问什么啊 啊啊啊啊

阅读 6.8k
2 个回答

l.log 这个文件需要全路径的吧

crontab缺省是没有用户名和路径的,所以你需要在你的crontab头部写上:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题