Задать вопрос
@Desert-Eagle
Новичок во всем

Как удалять файлы по маске в Centos?

Помогите написать скрипт в Cron (как я понимаю нужно будет его потом добавить по типу *.sh)
Есть папка с множеством файлов, без подпапок, название у всех схожее "1552370165.7772-2019-03-12-08_56-170-190" (это файлы записей Asterisk). Скрипт должен искать файлы в которых есть отрывок "-180" к примеру и удалять все эти файлы которые старше недели в момент запуска скрипта. В папке очень много файлов, там нет структуризации, на текущий момент их порядка 12тыс. и будет расти (сейчас рассматриваю вариант как писать разговоры по папкам, но пока приется работать с тем что есть).
Боюсь что команда find будет вешать сервак.
  • Вопрос задан
  • 1880 просмотров
Подписаться 1 Средний 2 комментария
Решения вопроса 1
shambler81
@shambler81 Куратор тега Linux
вы не ответили в какой части есть отрывок, будем думать что в конце
find . -type f  -mtime +7  -regex ".+190" -exec rm -r "{}" \;

-type f - только файлы
-mtime +7 старше 7 дней
-regex ".+190" - любые символы в конце файла 190
-exe - выполнить над ним
rm -r "{}" - удалить файл который в {} вывод массива из файнд, короче подставляется имя файла которое соответствует всем вышесказанным условиям.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Radjah
@Radjah
man find
Там есть поиск по маске, поиск по времени создания и выполнение операций над найденным файлами.
Ответ написан
Комментировать
20ivs
@20ivs
Пользователь пока ничего не рассказал о себе.
сколько не разворачивал Asterisk, всегда записи разговоров сортируются по директориям (дата, номер). например:
16_07_2019
100
101
и т.д.
посмотрите что у вас с конфигом. это проще, чем городить скрипты самостоятельно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы