Автоматическое удаление устаревших логов
Если вы на своем сайте записывайте в файлы некоторые логи, то через какое-то время их может накопиться очень много, из-за чего они могут занимать много места на диске.
Чтобы автоматически удалять логи (или другие файлы), устаревшие по дате, можно воспользоваться следующим кодом:
<?php
function clear_old_files()
{
$logFolders = [
'/logs/',
];
foreach ($logFolders as $folder) {
check_folder($_SERVER['DOCUMENT_ROOT'] . $folder);
}
}
function check_folder($folder)
{
$files = scandir($folder);
foreach ($files as $file) {
if ($file == '.htaccess') continue;
if (is_dir($folder . $file)) {
check_folder($folder . $file . '/');
} else {
$time = strtotime('-1 month');
if ((int)$time > (int)filemtime($folder . $file)) {
unlink($file);
}
}
}
}
В данном коде рекурсивно перебираются все папки внутри папки /logs/ и проверяется время последнего изменения файла с помощью функции filemtime(). И если время создания файла более 1 месяца, файл будет удален.
Папки для проверки можете указать любые, а также указать любое время, через которое будет удаляться файл.
Саму функцию clear_old_files() можно, например, при желании добавить на агент.
Оставьте комментарий
Если эта статья была полезной для вас, оставьте комментарий ниже или задайте интересующий Вас вопрос. Ваш опыт может помочь другим читателям!
Написать комментарий