我/redir
在网站上有一个目录,其中.htaccess
文件将各种静态地址重定向到其他地址,以便计算访问特定链接的次数。我想编写一个脚本来帮助计算该数据。
我已经有两个脚本。第一个access.log.0
在每天凌晨 2:00 左右通过 cron 作业将数据附加到文件中的 log.total 文件中。第二个是一个脚本,可以交互运行以运行生成计数,给定最小和最大日期。
cron 脚本:
#!/bin/bash
rm -f log.tmp
grep "GET /redir/.*" access.log.0 | cut -d " " -f4,5,7 > log.tmp
cat log.tmp >> log.total
rm log.tmp
这会生成如下所示的数据:
[21/Aug/2012:00:31:27 -0700] /redir/abc.html
[21/Aug/2012:00:31:35 -0700] /redir/def.html
[21/Aug/2012:00:31:35 -0700] /redir/abc.html
[21/Aug/2012:00:31:40 -0700] /redir/ghi.html
[21/Aug/2012:00:31:46 -0700] /redir/123.html
[21/Aug/2012:00:31:58 -0700] /redir/def.html
[21/Aug/2012:00:32:07 -0700] /redir/abc.html
etc...
现在,我想要一个可以运行的脚本,readLogs.sh "log.total" "1 week ago" "today"
它可以计算从一周前到今天每个文件被访问的次数。
我已经在下面发布了我的脚本,它可以完成这项工作,但是有一些限制,在那里概述了。输出可以是任何可读格式。