Home > Backend Development > PHP Tutorial > Code to delete logs 7 days ago under Linux (php+shell)_PHP tutorial

Code to delete logs 7 days ago under Linux (php+shell)_PHP tutorial

WBOY
Release: 2016-07-21 15:32:55
Original
786 people have browsed it

PHP version:

Copy code The code is as follows:

/**
* Delete logs from 7 days ago
* @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 version
Copy the code The code is as follows:

#!/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)#Delete file here
fi
else
echo ""
fi
done
}
Days= 7
Path="/var/www/***/log"
del7daysAgoLog $Path $Days


The shell version is more troublesome. The key is that I am not familiar with linux conversion.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/322711.htmlTechArticlePHP version: Copy the code as follows: /*** Delete logs from 7 days ago * @param $logPath*/ function del7daysAgoLog($logPath) { if (empty($logPath))return; $handle = opendir($logPath);...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template