1

Есть доступ до хранилища куда складываются логи, дампы и етц.
Формата к примеру дампов такой

ozonshop_db_db-08-07-2019-04-00-01.sql.gz

префикс-день-месяц-год-час-минута-секунда.расширение

Вопрос как можно удалять данные файлы ? Была идея как то выносить в массив имена файлов в директории, далее отрезать часть не имеющую отношения к дате, сортировать новый список, и потом удалять что старше 5 дней.
Но сортировка пока не получается. Вообще нету идей как ее сделать.

стороние утилиты по типу logrotate и так далее использовать НЕЛЬЯ - там(на мифическом хранилище) негде ставить.

2

tamahcki, Google работает за нас

Linux Mint 19.3 Mate Edition
Windows 7

3 (07.08.2019 18:35:28 отредактировано tamahcki)

Хех)))

В том то и дело что по дате файлов ( свойства файлов ) нельзя, за 1 подход может выволиться на сервер по 100 файлов, у всех будет 1 дата создания, но разные имена.

Потому и думаю как парсить именя файлов и удалять по ним.  af

К примеру -

-rw-r--r--  1 oracle oinstall    0 Aug  7 16:10 ozonshop_db_db-08-02-2019-04-00-01.sql.gz

-rw-r--r--  1 oracle oinstall    0 Aug  7 16:10 ozonshop_db_db-08-07-2019-04-00-01.sql.gz

4

Распарсить дату из имени файла в POSIX-формат

date -d "$($FILENAME | awk -F "-" '{print $3$2$4}')" +%s)

Получить POSIX дату за минусом 4-х суток от текущей

UTIME=$(expr $(date +%s) - 345600)

А дальше тупым сравнением [[Если дата файла меньше или равно $UTIME]] то делаем rm file

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

5

Получить в секундах время файла:

date -d "$(echo ozonshop_db_db-08-02-2019-04-00-01.sql.gz|awk -F "-" '{print $3"/"$2"/"$4" "$5":"$6}') " +%s

Получить текущее время в секундах:

date -u +%s

А дальше уже думать...