deleteArchivedFiles.php是否自动运行?MediaWiki维护脚本有无定时机制?
MediaWiki归档文件清理与维护脚本问题解析
1. deleteArchivedFiles.php仅删除1个文件的排查方向
- 文件权限不足:运行脚本的系统用户(如www-data、apache)没有服务器上归档文件的删除权限,导致多数文件无法被清理,仅少数有权限的文件被处理。
- 数据库记录与实际文件不匹配:检查
archive表的ar_storage_path字段,若该字段记录的路径和服务器上实际归档文件的路径不一致,脚本会因找不到文件而跳过删除。 - 脚本参数限制:默认情况下脚本仅处理标记为待删除的归档文件,可尝试添加
--delete-all参数强制清理所有无关联的归档文件,执行命令:php maintenance/deleteArchivedFiles.php --delete-all - 脚本已自动执行过:若服务器配置了定时任务,该脚本可能已经自动清理过大部分文件,你手动运行时仅剩1个待处理项。可通过
crontab -l(Linux)查看是否存在相关定时任务。
2. MediaWiki维护脚本的计划执行方式
MediaWiki没有内置的定时执行机制,所有维护脚本的定期运行都需要依赖服务器级别的定时任务工具:
- Linux系统:使用
cron,编辑crontab配置添加定时规则,例如每天凌晨执行归档文件清理:0 0 * * * php /var/www/wiki/maintenance/deleteArchivedFiles.php - Windows系统:通过「任务计划程序」创建定时任务,调用PHP解释器执行目标脚本。
- 托管环境:部分控制面板(如cPanel)提供可视化的定时任务配置功能,可直接设置脚本的执行周期。
内容的提问来源于stack exchange,提问作者relayman357
相关产品推荐
相关产品推荐

