我有一个数据库备份目录,以及一个每天备份数据库的PHP脚本。 但是一个月后我会在备份目录中有30个文件。 我如何编写一个每天删除旧备份文件的PHP脚本,以便我的目录中总有10个备份文件? 存储新备份时,将删除最旧的备份文件,依此类推......
答案 0 :(得分:3)
您可以阅读备份目录并删除超过30天的每个文件。但是,我个人动态创建文件,每个文件都有这种格式:
database_dump_DD-MM-YYYY_HH:MM:SS.sql
所以我可以删除考虑文件名的文件。由于我不知道您的文件格式是什么,因此您可以将其删除:
$files = readdir(opendir('backups')); //read directory for files
foreach($files as $file){
if(filemtime($file) > (time() + 2592000)){ //check if the file is older than 30 days
unlink($file); //delete
}
}
答案 1 :(得分:2)
使用PHP备份进行备份后,您将遍历目录,然后删除最旧的备份文件:
$files = glob('backupfolder/*.bak');
if(count($files) > 10)
foreach($files as $file)
if(time() - filectime($file) > 10 * 24 * 60 * 60)
unlink($file);
答案 2 :(得分:0)