Домашний каталог имеет обыкновение наполняться всяким мусором, который
занимает место, раздражает администраторов (особенно при ограниченном
дисковом пространстве системы), и прочее. Как хотя бы немного
автоматизировать процесс очистки? Ну, например, удалять старые объектные
файлы и автоматически создаваемые резервные копии вида *~?
Ну да, конечно, есть утилита 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.
А еще мне вдруг захотелось посмотреть, что же из себя представляет
штука,
о которой много доводилось слышать.
Комментарии
Во всех ОС я выключаю atime.
Во всех ОС я выключаю atime. Он очень сильно снижает производительность, к большому сожалению.
Да, Вы правы. Но, если эта
Да, Вы правы.
Но, если эта опция не отключена, то почему бы ей не воспользоваться!
Отправить комментарий