手动清理分为后台一键清理、数据库文件深度清理两种,新手优先用后台一键清理,操作零难度。
你的域名/e/admin,输入管理员账号密码登录。帝国CMS除了数据库存储日志,还会在本地文件目录存储运行日志,长期不清理会占用大量磁盘空间,清理步骤:
.txt的日志文件,注意:仅删除文件,不要删除logs目录本身,不要修改logs目录的权限(默认755即可)。如果后台清理失败,可以直接进入数据库执行清理操作,步骤:
enews_改成你自己的表前缀:
``` TRUNCATE TABLE `enewslog`; TRUNCATE TABLE `enewserrorlog`; TRUNCATE TABLE `enewssearchlog`; TRUNCATE TABLE `enewspublog`; ```
对于长期运营的站点,配置自动清理可以不用手动操作,定期自动清理冗余日志,分为系统自带自动清理和服务器定时任务两种方案。

如果你的后台访问频率低,系统自带自动清理触发不及时,可以配置服务器定时任务,定期自动执行清理,适合Linux服务器和虚拟主机:
cleaneclog.php的文件,将以下代码复制进去,修改两处配置:
```
query("DELETE FROM {$prefix}enewslog WHERE addtime < ".($now_time - $keep_days86400));
$db->query("DELETE FROM {$prefix}enewserrorlog WHERE addtime < ".($now_time - $keep_days86400));
$db->query("DELETE FROM {$prefix}enewssearchlog WHERE addtime < ".($now_time - $keep_days86400));
$db->query("DELETE FROM {$prefix}enewspublog WHERE addtime < ".($now_time - $keep_days86400));
// 清理文件日志
$log_dir = $_SERVER['DOCUMENT_ROOT'].'/e/data/logs/';
if(is_dir($log_dir)){
$handle = opendir($log_dir);
while(($file = readdir($handle)) !== false){
$file_path = $log_dir.$file;
if(is_file($file_path) && filemtime($file_path) < ($now_time - $keep_days86400)){
unlink($file_path);
}
}
closedir($handle);
}
echo "帝国CMS日志清理完成";
?>
```
需要修改的内容:第一把第3行的/www/wwwroot/你的网站根目录改成你自己网站的实际绝对路径,第二把第5行的$keep_days = 90改成你需要保留的天数,保存文件。crontab -e命令,在打开的编辑页末尾添加以下规则,设置每天凌晨2点自动执行一次:
``` 0 2 /usr/local/php/bin/php 你的脚本绝对路径/cleaneclog.php > /dev/null 2>&1 ```把代码中的
/usr/local/php/bin/php改成你服务器PHP的实际执行路径,你的脚本绝对路径/cleaneclog.php改成刚才创建的脚本的实际绝对路径,保存退出即可。https://你的域名/cleaneclog.php,设置执行周期为每天一次即可。问题1:清理后网站打不开怎么办?
只要按照步骤仅清理日志文件和日志表,不会影响站点核心数据,建议清理前先备份数据库和网站文件,一旦出错可以快速恢复。
问题2:自动清理不生效是什么原因?
90%的原因是脚本中填写的网站根目录路径错误,或者PHP执行路径错误,查看服务器定时任务的执行日志就能定位问题。
问题3:清理权限报错怎么办?
检查logs目录的权限,设置为755即可,脚本文件权限设置为644即可。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图