У моей компании есть набор серверов Linux, на которых пользователи хранят файлы. Файлы, следующие по общей схеме именования #####, ###, ### с номерами, соответствующими уникальным для них полям. Они должны удалить файлы через 30 дней, но этого не происходит, и в результате растущего сообщества пользователей на некоторых серверах заканчивается дисковое пространство.
Кто-нибудь знает, как я могу написать сценарий процесса, который будет искать во всех разделах серверов Linux любой файл с указанной выше схемой именования, который старше 30 дней, и перемещать его в новую папку?
Это значительно упростило бы очистку, потому что некоторые пользователи хранят файлы на многоуровневой глубине, и это начинает занимать много времени, просто их поиск позволяет одному решить, можно ли его удалить.
Любая помощь будет принята с благодарностью!
Использовать найти команду чтобы получить нужные файлы. Вы можете использовать -mtime
возможность установить возраст файла. Вы можете использовать регулярное выражение \d{5},\d{3},\d{3}$
чтобы соответствовать имени файла. Затем переместите каждый файл куда хотите.
Как это:
find / -mtime +30 -regex '\d{5},\d{3},\d{3}$' -exec mv {} /path/to/destination/folder \;