mlogfilter& mongoimport在crontab中运行脚本失败

时间:2015-01-14 11:53:22

标签: linux bash mongodb shell

在logrotate之后,我使用mtools来过滤慢速查询,并通过脚本将它们插入slowqueries集合中。

# rotate log
mongo admin -eval "db.runCommand({logRotate:1})"
# insert slow queries in database
mlogfilter /var/log/mongodb/mongod.log.[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]T* --slow --json |  mongoimport -d pllogs -c slowqueries
# compress roatated logs
for f in /var/log/mongodb/mongod.log.[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]T*;
do
    echo "$f"
        7za a "$f.z" "$f"
        wait
    rm -f "$f"
done
# remove files older than 20 days
find /var/log/mongodb/'*.z' -ctime +20 | xargs rm -rf

当我手动运行脚本时脚本工作正常,但是当我使用crontab时,压缩日志就在那里,但我无法在数据库中找到慢查询。

0 个答案:

没有答案