найти. -exec rm -rf {} и странные сообщения о том, что файлы не найдены

Не указан путь.

Решено запуском:

ecryptfs-recover-private /media/UUID/home/.ecryptfs/USERNAME/.Pravate
2
17.07.2020, 12:32
1 ответ

Это похоже на состояние гонки -:

Предположим, у вас есть файл /a/b/cи вы запускаетеfind /a -exec rm -rf {} \;

В некоторых случаях (не всегда )всё происходит в таком порядке

  1. findзаметит, что /a/bи /a/b/cсуществуют, и запомнит их обоих
  2. Будет запущен rm -rf /a/b, который удалит и /a/b, и /a/b/c
  3. .
  4. Он не будет знать, что /a/b/cпропал, он все равно попытается удалить этот (несуществующий -)файл, и вы получите эту ошибку.

Возможные решения:

  • Что можно сделать :Использовать регулярные выражения для фильтрации строк, оканчивающихся на No such file or directory, из
  • Что, вероятно, было бы лучше:(Сначала проверьте это, поместив echoпередrm -rf):
find. -type d -mtime +29 -user admin -name "20*" > /tmp/list_of_dirs
perl -ne 'system("rm -rf $_") < /tmp/list_of_dirs
  • Что бы я сделал сам :Я бы не считал это реальной проблемой. Если rmсломается на некоторых директориях, вы, вероятно, заметите это...
1
18.03.2021, 23:19

Теги

Похожие вопросы