LINUX.ORG.RU

Вопрос про find и -exec

 


0

1

Написал простенький скрипт бэкапов, который должен удалять архивы старее 10 дней командой find /Volumes/Backup/ -type f -mtime +10 -exec rm -rf {} \;

Вопрос такой: нужно ли для rm -rf прописывать полный путь для безопасности? Или исполнение команды автоматически применяется только к результату find?

find(1)

 -delete
              Delete files; true if removal succeeded.  If the removal failed,
              an  error message is issued.  If -delete fails, find's exit sta‐
              tus will be nonzero (when it eventually exits).  Use of  -delete
              automatically turns on the -depth option.

aol ★★★★★ ()
Ответ на: комментарий от Anatuz

Короче вопрос тогда надо было задавать такой: не стер ли я чего лишнего вне папки /Volumes/Backup/ командой find /Volumes/Backup/ -type f -mtime +10 -exec rm -rf {} \; ?

Anatuz ()
Ответ на: комментарий от Anatuz

эта команда и есть ответ на твой вопрос. это ж не знаменитый однострочник на перле - всё видно.

там специально echo, если ты не видал. соответственно, если его убрать, то ровно эти же команды будут выполнены вместо вывода на экран.

aol ★★★★★ ()
Последнее исправление: aol (всего исправлений: 1)
Ответ на: комментарий от Anatuz

нет, не стёр. но маны от файнда почитай про -delete - удобнее же!

aol ★★★★★ ()

-type f и rm -r бессмысленно

sdio ★★★★★ ()

поправил на -delete и убрал бессмысленные -f

aol, sdio, спасибо!

Anatuz ()

man find! нафига в -exec загонять rm, если есть более быстрый -delete?

Eddy_Em ☆☆☆☆☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.