Страница 1 из 1
Удаление сохраненной БД по крону
Добавлено: 06 июн 2020, 12:44
alcompstudio
Добрый день!
Сейчас делаю резервные копии БД по крону. Установил раз в день, но уже куча баз "набежала". Не всегда помню, что "лишние" можно удалить, и место тоже занимают, поэтому удалять нужно. Можно ли как-то с использованием крона сделать удаление баз, например, сохраненных 2(или 3, или по настройке) дня назад?
Т.е. чтобы оставалось только 2-3 последних бекапа. Или это сложно организовать?
Re: Удаление сохраненной БД по крону
Добавлено: 08 июн 2020, 15:19
sanys
Только средствами ОС.
Для линукс можно выполнять команду в кроне или запихать в bash-скрипт и запускать его
find <путь к каталогу бэкапов> -type f -mtime +5 -delete
find - поиск
-type f - тип файлы
-mtime +5 - всё что старше 5 дней (обязательно +)
-delete - удалить
Можно настроить запись в лог-файлов, если требуется
-print -вывод в интерфейс по умолчанию
>> logfile.txt - файл лога
тогда полная команда:
find <путь к каталогу бэкапов> -type f -mtime +5 -delete -print >> <путь к каталогу файла-лога>/logfile.txt
перед запуском сделайте бэкап бэкапов )))
Re: Удаление сохраненной БД по крону
Добавлено: 08 июн 2020, 15:24
alcompstudio
Спасибо за рекомендации, но данную возможность нужно для приложения, расположенного на вирт.хосте. + нет доступа к консоли + нет достаточных знаний в администрировании серверов)) Потому и вынес на обсуждение, возможно разработчик как-то программно предусмотрит данную особенность в релизах, если конечно можно так сделать. Если, как вы указали в своем ответе - только через ОС, значит будем продолжать ручками удалять.
Re: Удаление сохраненной БД по крону
Добавлено: 08 июн 2020, 15:35
Oleg
Re: Удаление сохраненной БД по крону
Добавлено: 08 июн 2020, 15:47
sanys
Думаю, что добавить этот функционал в систему не должно быть сильно трудно.
Кнопка "Настройки" на странице работы с бэкапами.
При нажатии на кнопку открывается страница или форма, где есть поля:
Переключатель: On/Off - "Удалять старые копии автоматически"
Переключатель: "Удалять по истечению количества дней" / "Хранить указанное количество копий"
Поля (в зависимости от переключателя):
<столько-то> дней хранить копии ("Укажите количество дней, для самой "старой" копии.")
или
Хранить <столько то копий> ("Укажите количество копий, которые следует хранить. При превышении количества, самая старая копия будет удалена")
После включения данной опции рядом с кнопкой "Настройки" выводить состояние "Автоматическое удаление включено!"
и, возможно текущие настройки.
Скорее всего, надо будет добавлять в крон еще один php-скрипт (как в случае с созданием бэкапов), который уже будет удалять ненужные бэкапы, в зависимости от настроек пользователя.
Думаю, раз у приложения есть доступ для записи в каталог с бэкапами, то и с удалением не должно быть проблем.
Но может зависеть от хостинга (не имею опыта работы с ними).
Тут потом главное не запутаться с этими скриптами ))
P.S. Да, с подсказками и названиями полей надо поработать, но думаю смысл ясен.
Re: Удаление сохраненной БД по крону
Добавлено: 08 июн 2020, 16:13
alcompstudio
Спасибо, у хостера есть возможность ставить крон, но у меня нет знаний как создать отдельный php скрипт, который будет удалять файлы бекапов )
Думаю, что добавить этот функционал в систему не должно быть сильно трудно.
Очень хотелось бы надеяться)
Re: Удаление сохраненной БД по крону
Добавлено: 08 июн 2020, 16:20
Oleg