服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - linux下删除7天前日志的代码(php+shell)

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

2019-11-14 15:20php教程网 PHP教程

shell 版本比较麻烦 关键我linux转换不熟悉

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

延伸 · 阅读

精彩推荐