データベースのバックアップ用のディレクトリと、データベースのバックアップを毎日作成する PHP スクリプトがあります。しかし、1 か月ほどすると、バックアップ ディレクトリに 30 個のファイルが作成されます。ディレクトリに常に 10 個のバックアップ ファイルが存在するように、古いバックアップ ファイルを毎日削除する PHP スクリプトを作成するにはどうすればよいですか? 新しいバックアップが保存されると、最も古いバックアップ ファイルが削除されます。
1697 次
3 に答える
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
}
}
于 2012-09-22T11:06:11.303 に答える
2
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-22T10:20:20.803 に答える