URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6802
[ Назад ]

Исходное сообщение
"Найти битые"

Отправлено zick , 02-Окт-07 18:35 
здраствуйте.
Вопрос как можно найти битые симлинки в файлопомойке, где есть и битые, и нормальные линки. Там идёт так в сылке на папку с фильмами идёт внутри ещё одна битая сылка :(

Советывали так:
"find -L /usr/ports/packages -type l -delete"  , но так удаляет все линки.

так же подкинули такой скриптик, который по логике нормально далжен отрабатывать, но что-то не удаляет ничего ...

#!/bin/sh

du -a /ftp/film/ |
{
      while read file_path
      do
      if [ `file ${file_path}| grep broken | wc -l` -eq 1 ]
      then
             rm $file_path
       fi
      done
}

Может у кого-то есть решение, так как думаю многие с этим сталкивались.
ОС ФриБСД 6.1



Содержание

Сообщения в этом обсуждении
"Найти битые"
Отправлено madskull , 02-Окт-07 19:33 
Есть такая программулька - symlinks - вот она должна помочь

"Найти битые"
Отправлено zick , 02-Окт-07 19:55 
>Есть такая программулька - symlinks - вот она должна помочь

Непомогла к сожаленью :( там файловые системы примонтированы по НФС и выводится мне только other_fs . Невидит оно битые сылки.


"Найти битые"
Отправлено newser , 02-Окт-07 21:01 
>[оверквотинг удален]
>      then
>            
> rm $file_path
>       fi
>      done
>}
>
>Может у кого-то есть решение, так как думаю многие с этим сталкивались.
>
>ОС ФриБСД 6.1

man readlink
и простейший скрипт. :)


"Найти битые"
Отправлено Alexander Sheiko , 02-Окт-07 21:02 
>здраствуйте.
>Вопрос как можно найти битые симлинки в файлопомойке, где есть и битые,
>и нормальные линки. Там идёт так в сылке на папку с
>фильмами идёт внутри ещё одна битая сылка :(

Возможно Вам поможет это:

http://adsh.ukrweb.net/blog/article/20/


"Найти битые"
Отправлено zick , 02-Окт-07 23:05 
>>здраствуйте.
>>Вопрос как можно найти битые симлинки в файлопомойке, где есть и битые,
>>и нормальные линки. Там идёт так в сылке на папку с
>>фильмами идёт внутри ещё одна битая сылка :(
>
>Возможно Вам поможет это:
>
>http://adsh.ukrweb.net/blog/article/20/

к сожаленью нет :( конструкция find -L /var/www/ftp.server.com/ -type l -delete удаляет и битую ылку и нормальную. Вот схема как там лежат файлы: /dir/normal_silmlink(dir)/broken_simlink


"Найти битые"
Отправлено Alexander Sheiko , 02-Окт-07 23:35 
>к сожаленью нет :( конструкция find -L /var/www/ftp.server.com/ -type l -delete удаляет
>и битую ылку и нормальную.

Вот так работает:

uname -sr
FreeBSD 6.2-RELEASE-p6
touch test
ln -s test link
ls -l
total 0
lrwxr-xr-x  1 adsh  adsh  4  2 окт 22:26 link -> test
-rw-r--r--  1 adsh  adsh  0  2 окт 22:26 test
find  -L ./ -type l -exec rm -f {} \;
ls -l
total 0
lrwxr-xr-x  1 adsh  adsh  4  2 окт 22:30 link -> test
-rw-r--r--  1 adsh  adsh  0  2 окт 22:26 test
rm test
ls -l
total 0
lrwxr-xr-x  1 adsh  adsh  4  2 окт 22:33 link -> test
find  -L ./ -type l -exec rm -f {} \;
ls -l
total 0