Утилита find: как содержать домашнюю директорию в чистоте

Изображение пользователя cristobal-junta.

Tux (en.wikipedia.org/wiki/Tux) Домашний каталог имеет обыкновение наполняться всяким мусором, который занимает место, раздражает администраторов (особенно при ограниченном дисковом пространстве системы), и прочее. Как хотя бы немного автоматизировать процесс очистки? Ну, например, удалять старые объектные файлы и автоматически создаваемые резервные копии вида *~?

Ну да, конечно, есть утилита find, но как ей пользоваться? Оказывается, легко!

На удаленной высокопроизводительной системе, с которой я работаю, в конце файла .profile я прописал следующее:

if [ `who | egrep '\<pozdneev\>' | wc -l` -eq 1 ] ; then
    echo 'Searching for old files...'

    find ~  \
            \( -type f -name '*.o' -atime +7 -delete \) , \
            \( -type f -name '*~' -atime +7 -delete \)

    find ~/work \
            \( -type f -empty -atime +7 -delete \) , \
            \( -type f -perm /111 -perm -200 -atime +31 -size +2M -delete \)
fi

В первой строчке я проверяю, кто в данный момент находится в системе (who). Потом ищу сессии, открытые мной (egrep '\<pozdneev\>'), считаю их количество (wc -l), и, если это моя единственная (первая) сессия, то я запускаю процедуру поиска и удаления.

Первая find ищет по всему домашнему каталогу и удаляет (-delete) файлы (-type f) *.o и *~, последнее обращение к которым было более семи дней назад (-atime +7).

Вторая find просматривает только директорию ~/work в поисках пустых (-empty) файлов и исполняемых файлов (-perm /111) размером более двух мегабайт (-size +2M), к которым владелец (т.е. я) имеет доступ на запись (-perm -200).

Удобно, что с помощью скобок (\( \) , \( \)) можно группировать разные запросы; понятно, что при этом дерево директорий просматривается только один раз.

Когда файлов у меня в каталоге станет побольше, то в конец команд добавлю амперсанд (&), чтобы все это в фоне запускалось.

Да, удаленная система — это, конечно, наш факультетский Blue Gene/P.

А еще мне вдруг захотелось посмотреть, что же из себя представляет штука, о которой много доводилось слышать.

Добавьте страницу в закладки. Перейти к верху страницы
Синдикация материалов