码迷,mamicode.com
首页 > Web开发 > 详细

shell案例 - 统计用户上传文件的时间

时间:2016-07-29 23:04:16      阅读:364      评论:0      收藏:0      [点我收藏+]

标签:linux   centos   自动化运维   shell 脚本   

问题与需求:

一个web服务跑论坛,每天都有很多用户会上传文件到服务器里,假设这些文件会保存在/data/www/attachment目录下,我想知道用户大概会在什么时候上传文件? 从而了解用户的行为习惯


解决思路:

1. 判断新文件是否被上传到了服务器里?以5分钟为一个间隔,进行检测。

2. 确定这些文件是什么时候被上传的?

3. 将新文件的列表输出到一个按年、月、日、时、分为名字的日志里,以方便我们进行查看分析

4. 写一个shell脚本来帮我们自动实现这个检测和记录的过程,当然只检测一次是不够的,需要每隔一段时间进行一次检测,所以需要把这个脚本添加到linux的任务计划里,规定它假设每隔5分钟执行一次,想想都省时省力技术分享


shell脚本:/root/new_file.sh

#! /bin/bash

date_log=`date -d "-5 minutes" +%Y%m%d%H%M`.log

basedir=/data/web/attachment

##Examine if any new files are uploaded in the last 5 minutes

find $basedir -type f -mmin -5 > /tmp/1.txt

n=`wc -l /tmp/1.txt`

##If new files appear, write them into date_log

if [ $n -gt 0 ]

then

    cat /tmp/1.txt > /tmp/$date_log

fi


将shell脚本添加到任务计划里去:

crontab -e

*/5 * * * * sh new_file.sh



本文出自 “模仿游戏” 博客,谢绝转载!

shell案例 - 统计用户上传文件的时间

标签:linux   centos   自动化运维   shell 脚本   

原文地址:http://kevinjin117.blog.51cto.com/11655131/1831871

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!