Добрый день!
Сейчас делаю резервные копии БД по крону. Установил раз в день, но уже куча баз "набежала". Не всегда помню, что "лишние" можно удалить, и место тоже занимают, поэтому удалять нужно. Можно ли как-то с использованием крона сделать удаление баз, например, сохраненных 2(или 3, или по настройке) дня назад?
Т.е. чтобы оставалось только 2-3 последних бекапа. Или это сложно организовать?
Удаление сохраненной БД по крону
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Удаление сохраненной БД по крону
Только средствами ОС.
Для линукс можно выполнять команду в кроне или запихать в 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
перед запуском сделайте бэкап бэкапов )))
Для линукс можно выполнять команду в кроне или запихать в 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
перед запуском сделайте бэкап бэкапов )))
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Удаление сохраненной БД по крону
Спасибо за рекомендации, но данную возможность нужно для приложения, расположенного на вирт.хосте. + нет доступа к консоли + нет достаточных знаний в администрировании серверов)) Потому и вынес на обсуждение, возможно разработчик как-то программно предусмотрит данную особенность в релизах, если конечно можно так сделать. Если, как вы указали в своем ответе - только через ОС, значит будем продолжать ручками удалять.
- Oleg
- Сообщения: 464
- Зарегистрирован: 26 окт 2018, 08:23
- Имя: Олег Родионов
- Откуда: Россия,Санкт-Петербург
Re: Удаление сохраненной БД по крону
Может это подойдет
https://www.reg.ru/support/hosting-i-se ... schik-cron
https://fornex.com/help/cron-php/
https://www.reg.ru/support/hosting-i-se ... schik-cron
https://fornex.com/help/cron-php/
Установка и настройка IP ATC Asterisk
Re: Удаление сохраненной БД по крону
Думаю, что добавить этот функционал в систему не должно быть сильно трудно.
Кнопка "Настройки" на странице работы с бэкапами.
При нажатии на кнопку открывается страница или форма, где есть поля:
Переключатель: On/Off - "Удалять старые копии автоматически"
Переключатель: "Удалять по истечению количества дней" / "Хранить указанное количество копий"
Поля (в зависимости от переключателя):
<столько-то> дней хранить копии ("Укажите количество дней, для самой "старой" копии.")
или
Хранить <столько то копий> ("Укажите количество копий, которые следует хранить. При превышении количества, самая старая копия будет удалена")
После включения данной опции рядом с кнопкой "Настройки" выводить состояние "Автоматическое удаление включено!"
и, возможно текущие настройки.
Скорее всего, надо будет добавлять в крон еще один php-скрипт (как в случае с созданием бэкапов), который уже будет удалять ненужные бэкапы, в зависимости от настроек пользователя.
Думаю, раз у приложения есть доступ для записи в каталог с бэкапами, то и с удалением не должно быть проблем.
Но может зависеть от хостинга (не имею опыта работы с ними).
Тут потом главное не запутаться с этими скриптами ))
P.S. Да, с подсказками и названиями полей надо поработать, но думаю смысл ясен.
Кнопка "Настройки" на странице работы с бэкапами.
При нажатии на кнопку открывается страница или форма, где есть поля:
Переключатель: On/Off - "Удалять старые копии автоматически"
Переключатель: "Удалять по истечению количества дней" / "Хранить указанное количество копий"
Поля (в зависимости от переключателя):
<столько-то> дней хранить копии ("Укажите количество дней, для самой "старой" копии.")
или
Хранить <столько то копий> ("Укажите количество копий, которые следует хранить. При превышении количества, самая старая копия будет удалена")
После включения данной опции рядом с кнопкой "Настройки" выводить состояние "Автоматическое удаление включено!"
и, возможно текущие настройки.
Скорее всего, надо будет добавлять в крон еще один php-скрипт (как в случае с созданием бэкапов), который уже будет удалять ненужные бэкапы, в зависимости от настроек пользователя.
Думаю, раз у приложения есть доступ для записи в каталог с бэкапами, то и с удалением не должно быть проблем.
Но может зависеть от хостинга (не имею опыта работы с ними).
Тут потом главное не запутаться с этими скриптами ))
P.S. Да, с подсказками и названиями полей надо поработать, но думаю смысл ясен.
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Удаление сохраненной БД по крону
Спасибо, у хостера есть возможность ставить крон, но у меня нет знаний как создать отдельный php скрипт, который будет удалять файлы бекапов )Oleg писал(а): 08 июн 2020, 15:35 Может это подойдет
https://www.reg.ru/support/hosting-i-se ... schik-cron
https://fornex.com/help/cron-php/
Очень хотелось бы надеяться)Думаю, что добавить этот функционал в систему не должно быть сильно трудно.
- Oleg
- Сообщения: 464
- Зарегистрирован: 26 окт 2018, 08:23
- Имя: Олег Родионов
- Откуда: Россия,Санкт-Петербург
Re: Удаление сохраненной БД по крону
Установка и настройка IP ATC Asterisk