LINUX.ORG.RU
решено ФорумAdmin

Cron рекурсивное удаление подкаталогов и файлов


0

1

Всем привет. Возникла необходимость чистить каталог /var/temp. Прописал в cron-е так(из под рута):

0 5 * * 1 find /var/temp/ -exec rm -rf {} \;
Но он удаляет и каталог temp тоже, а мне надо, чтобы он оставался. Пробовал еще:
0 5 * * 1 find /var/temp/ ! -name . -exec rm -rf {} \
Но тоже не сработало. Прошу помочь.


man find

       -mindepth levels
              Do  not apply any tests or actions at levels less than levels (a
              non-negative integer).  -mindepth  1  means  process  all  files
              except the starting-points

xorik ★★★★★
()

-mindepth 1

и ещё вместо -exec rm можно использовать стандартный -delete

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

не удалит файлы, начинающиеся с точки.
вообще белые люди пользуют для этого tmpwatch.

Komintern ★★★★★
()
Ответ на: комментарий от xorik
0 5 * * 1 find /var/temp/ -mindepth 1 -exec rm -rf {} \;

не срабатывает, хотя find /var/temp/ -mindepth 1 выдает то, что надо. Пробовал также

0 5 * * 1 find /var/temp/ -mindepth 1 -delete \;
Все равно не срабатывает.

aarexer
() автор топика

Вот тебе костыль для лохов:

touch /var/temp/.placeholder
chattr +i /var/temp/.placeholder

Всё, /var/temp не удалишь без "chattr +i /var/temp/.placeholder"

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

А в чем ошибка у меня? Почему у меня не удаляет содержимое каталога то?

aarexer
() автор топика

Разобрался с помощью man.))

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