/data/oozie-admi/ содержит несколько каталогов.
Эта команда
find /data/oozie-admi/ -type d -ctime +1 | xargs rm -rf [0]
удаленная /data/oozie-admi/ папка. Нужно выяснить сценарии, в которых папка будет удалена.
/data/oozie-admi/ содержит несколько каталогов.
Эта команда
find /data/oozie-admi/ -type d -ctime +1 | xargs rm -rf [0]
удаленная /data/oozie-admi/ папка. Нужно выяснить сценарии, в которых папка будет удалена.
Эта страница U & L дает хорошее описание того, что ctime делает в команде find :
Согласно странице человека
find-ctime n File's status was last changed n*24 hours ago. +n for greater than nПоэтому
-ctime +1означает, что статус файла должен был измениться как минимум 48 часов назад.
-type d будет указывать только на возврат каталогов.
Так что find /data/oozie-admi/ -type d -ctime +1 будет соответствовать любому и всем каталогам, которые не были изменены за последние 48 часов.
Например, если у вас есть папка /data/oozie-admi/fish которая была создана более 48 часов назад и в которой в течение 48 часов в этой папке происходит множество обновлений, то эта папка будет исключена из вашего соответствия, но /data/oozie-admi/ не будет исключен, если файлы там не были изменены.
xargs rm -rf удалит все и все каталоги, которые ему передают. Это довольно опасно, так как если в корневой папке (/data/oozie-admi/) не было создано или удалено ни одного файла, то время его изменения не будет обновлено, а ваша папка /data/oozie-admi/ будет удалена. ,
Таким образом, по сути, эта строка сценария удалит этот каталог или любые его подкаталоги, если дата изменения каталога более 48 часов назад.
Я не уверен, что [0] должен делать. Из быстрого поиска я вижу, что это может быть полезно, если вы использовали это в операторе типа "if True", но у вас нет оператора if . В лучшем случае кажется, что она будет передана в качестве аргумента команде rm и поэтому вы удалите каталог с именем [0] в любом каталоге, в котором выполняется скрипт, а также в каталоге /data/oozie-admi/ .
Я думаю, что Вам нужно это:
find /data/oozie-admi/ -mindepth 1 -type d -ctime +1 | xargs rm -rf
или же:
find /data/oozie-admi/ -mindepth 1 -type d -ctime +1 -exec rm -rf +
Обе команды должны работать одинаково (в Linux), вторая более реалистичная для большого количества папок.