Я создаю резервную копию своей базы данных каждый день.
Для сохранения на жестком диске, как я могу удалить файлы старше 2 weeks
И (day of month) % 14 != 0
из скрипта оболочки?
Итак, я ищу команду типа find / -mtime +14 -exec rm {} \;
с добавлением не удалять файлы, созданные 14-го или 28-го числа любого месяца.
Я хочу иметь ежедневные резервные копии последние 2 недели и раз в 2 недели (почти) после этого?
PHP-код в цикле будет таким:
$mtime = filemtime($file); // Last modified date of file (created)
$day_mtime = date('j', $mtime); // Day of month (1-31)
$two_weeks_ago = time() - 60 * 60 * 24 * 14;
if ($mtime < $two_weeks_ago && $day_mtime % 14 != 0) {
// Delete file older than 2 weeks
// AND not modified not 14'th nor 28'th day of month
}