linux - crontab执行脚本不能正常输出文件
大家讲道理
大家讲道理 2017-04-17 15:20:03
[Linux讨论组]

写了一个脚本 打算使用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没有内容啊!!!!!!!这是问什么啊 啊啊啊啊

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
PHP中文网

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

大家讲道理

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

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号