Мы регулярно видим клиентов с веб-сайтами, которые были стерты или иначе изменены, до такой степени, что мы просто написали статью блога о том, как постараться не получать Ваш зараженный вредоносными программами веб-сайт. В основном они обычно входят одним из нескольких различных методов:
Этот отрывок Bash найдет каталоги, которые не имеют никаких каталогов, связанных с ними. Это также найдет неработающие ссылки.
for f in *; do (($(find -L -maxdepth 1 -samefile "$f" 2>/dev/null | wc -l) == 1)) && echo "found: $f"; done
Это не смотрит вне текущего каталога или в подкаталогах.
Обязательно протестируйте его полностью.
Как, упомянутый вопрос, на который ссылаются, нет официального способа сделать это. Как альтернатива опции Dennis, я представляю следующий ужасный взлом. Обязательно протестируйте полностью также. Я рекомендовал бы заменить -exec
часть с ls
пока Вы не уверены, что это работает.
touch current;find . -maxdepth 1 -type d -mmin +2 -exec rm -rf {} \;
Это проверит текущий каталог только. Это по существу касается каталога, связанного 'текущим', и затем удаляет что-либо с изменить временем, более старым, чем две минуты. Если другие каталоги не были затронуты в некоторое время, можно увеличить таймер на -mmin
, таким образом, Вы случайно не уничтожаете каталог, Вы хотите. Это очевидно только жизнеспособно, если Вы не возражаете изменять метку времени на текущем каталоге.
- Christopher Karel