Задача: найти и что-то сделать с файлами, которые были изменены давнее или ранее, чем указаное количество дней назад.
Например, нам нужно удалить все файлы старше 30 дней. Или нам нужно скопировать все файлы, которые изменены не более 30 дней назад.
Для этого воспользуемся утилитой find.
Найти файлы старше N дней:
$ find . -mtime +N
где вместо N укажите числом количество дней, например:
$ find . -mtime +30
Найти файлы младше N дней:
$ find . -mtime -N
как пример:
$ find . -mtime -45
В данных примерах мы работаем с текущей директорией, на что указывает "." точка.
Удалить файлы старше 30 дней
$ find . -mtime +30 -exec rm {} \;
Удалить файлы младше 30 дней
$ find . -mtime -30 -exec rm {} \;
Скопировать файлы старшне/младше 30 дней
$ find . -mtime +30 -exec cp {} /target/dir/ \;
где вместо /target/dir/ указывайте директорию, куда нужно копировать.
Переместить файлы старше/младше 30 дней
$ find . -mtime +30 -exec mv {} /target/dir/ \;
где вместо /target/dir/ указывайте директорию, куда нужно копировать.
И все по аналогии.
Комментарии
Оставить комментарий
Операционная система LINUX
Термины: Операционная система LINUX