我有一个用于数据库备份的目录,以及一个每天对数据库进行备份的PHP脚本。但是大约一个月后,我将在备份目录中有30个文件。我如何编写一个PHP脚本,每天删除旧的备份文件,使我的目录中始终有10个备份文件?当存储新的备份时,最旧的备份文件将被删除,依此类推...
发布于 2012-09-22 18:20:21
使用PHP备份进行备份后,循环遍历目录,然后删除最旧的备份文件:
$files = glob('backupfolder/*.bak');
if(count($files) > 10)
foreach($files as $file)
if(time() - filectime($file) > 10 * 24 * 60 * 60)
unlink($file);发布于 2012-09-22 19:06:11
您可以读取备份目录并删除超过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
}
}https://stackoverflow.com/questions/12542912
复制相似问题