Крон задание удалять определенные папки через определенное кол-во дней?
имеется дирректория
/var/www/user/data/www/mysite.com/scrin/ в ней создаются куча папок ежедневно такого вида:
04-12-2017
05-12-2017
06-12-2017
.....
.....
в которые загружаются скрины.
и не только такие
Так вот как правильно повешать крон задание чтобы он из дирректории /var/www/user/data/www/mysite.com/scrin/ удалял только папки такого вида 04-12-2017 которые старше 8 суток, не трогая другие папки?
1. Через find найти папки старше 8 дней
2.Получить дату этой папки, сконвертировать дату в нужный формат, совпадающей с форматом имени папки
3. Сравнить и если совпало удалить.
Пойдет так? Или даты и названия папок могут не совпадать?
то удалятся все папки из дирректории scrin которые старше 8 дней а мне надо токо чтобы он удалял папки старше 8 дней такого вида: 04-12-2017 05-12-2017 и тд а другие не трогал (т.к. в этой дирректории много и других папок которые нельзя никогда удалять ни при каких обстоятельствах). Т.е. в которых есть скажем
Андрей, в find можно добавить шаблон имени директории, в том числе используя regex:
find /var/www/user/data/www/mysite.com/scrin/ -mtime +8 -type d -regextype sed -regex ".*/[0-9]\{2\}\-[0-9]\{2\}\-[0-9]\{4\}" -exec rm {} \;
Иван Соболев,
@daily find /var/www/user/data/www/mysite.com/scrin/ -mtime +8 -type d -regextype sed -regex ".*/[0-9]\{2\}\-[0-9]\{2\}\-[0-9]\{4\}" -exec rm {} \;
будет из папки scrin удалять папки всех таких видов
04-12-2017
14-12-2017
01-01-2018
и т.д.
?
то удалятся все папки из дирректории scrin которые старше 8 дней а мне надо токо чтобы он удалял папки старше 8 дней такого вида: 04-12-2017 05-12-2017 и тд а другие не трогал (т.к. в этой дирректории много и других папок которые нельзя никогда удалять ни при каких обстоятельствах). Т.е. в которых есть скажем
Saboteur,
find /var/www/user/data/www/mysite.com/scrin -name "*2*" -mtime +8 -exec ls -l {} \;
он выдал мне все скрины из всех папок устаревших. А как сделать чтобы он не залазил в папки не смотрел их а просто смотрел на дату папки?