/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), вторая более реалистичная для большого количества папок.