Как удалить все изображения (размеры изображений) внутри папок, кроме основной

У нас есть структура папок:

assets/user/YYYY/MM/DD/ID/image.jpg|png|...

и более 8000 пользователей размещены в разное время и с разными идентификаторами.

В той же папке мы создаем 6 миниатюр разных размеров, например:

assets/user/YYYY/MM/DD/ID/tn_image.jpg|png|...
assets/user/YYYY/MM/DD/ID/250x250_image.jpg|png|...
assets/user/YYYY/MM/DD/ID/600x600_image.jpg|png|...
...

Как Могу ли я удалить все эти версии с измененным размером и дальше?

0
задан 30 April 2017 в 16:38
1 ответ

Я предполагаю, что исходные изображения - самые старые изображения. Вы можете использовать сценарий, который удаляет все файлы новее, чем ... Итак, если вашему исходному образу более 31 дня, используйте:

find assets/user/\*/\*/\*/\*/ -mtime -31 -type f -exec rm -rf {} \;

БУДЬТЕ ОСТОРОЖНЫ! Эта строка будет искать во всех папках, поэтому все исходные изображения должны быть одинакового возраста. Если это не так, используйте отдельные папки для каждого. Например:

find assets/user/YYYY/MM/DD/ -mtime -31 -type f -exec rm -rf {} \;
0
ответ дан 5 December 2019 в 08:17

Теги

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