linux下删除7天前日志的代码(php+shell) |
本文标签:删除日志 PHP版本: 复制代码 代码如下: /** * 删除7天前的日志 * @param $logPath */ function del7daysAgoLog($logPath) { if(empty($logPath))return; $handle = opendir($logPath); while(($file = readdir($handle)) !== false){ $pos = strpos($file, .log); if ($pos !== false && (strtotime("-1 week") > fileatime($logPath . $file))) { unlink($logPath . $file); } } } shell 版本 复制代码 代码如下: #!/bin/sh function del7daysAgoLog (){ for file in $(ls $1) do if [ "${file##*.}" = "log" ] then ctime=$(stat $1/$file -c "%y") ctimeU=$(date -d "$ctime" +%s) now=$(date +%s) SevenDaysAgo=$(($now - 36000 * $Days)) if [ $SevenDaysAgo -gt $ctimeU ] then $(rm $file)#此处删除文件 fi else echo "" fi done } Days=7 Path="/var/www/***/log" del7daysAgoLog $Path $Days shell 版本比较麻烦 关键我linux转换不熟悉 |