linux下删除7天前日志的代码(php+shell)

时间:2022-09-09 19:04:50

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转换不熟悉