Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Eugene Grosbein                      2:5006/1       29 Aug 2007  16:20:33
 To : Victor Sudakov
 Subject : Re: undelete file
 -------------------------------------------------------------------------------- 
 
 29 авг 2007, среда, в 08:50 KRAST, Victor Sudakov написал(а):
 
  VS> Есть файл, которому сделали unlink. Hо я знаю PID процесса, который
  VS> держит этот файл открытым. Более того, я знаю номер иноды. 
  VS> Можно ли файл восстановить?
 
 Теоретически fsdb может создать link для inode в каком-нибудь
 каталоге, практически на смонтированной fs он этого делать не даёт.
 Hо если есть свободное место, можно просто выдернуть содержимое
 из дисковых блоков таким скриптом. Запускать:
 saveinode /dev/device INUM /where/to/write/copy
 
 #!/bin/sh
 
 device="$1"
 inode="$2"
 outfile="$3"
 n='\
 '
 # определяем размер фрагмента (fsize) и кол-во фрагментов на блок (frag)
 eval $(dumpfs $device | sed -E '/(frag|fsize)/!d;
 s/(frag|fsize)[[:space:]]+([0-9]+).*/\1=\2/')
 # при помощи fsdb определяем размер и список блоков файла
 printf "inode $inode\nblocks\nexit\n" | fsdb -r $device | \
   sed -E "/(^[0-9]|I=$inode)/!d; s/^.*SIZE=([0-9]+).*/+\1/; s/,//g; s/\(.*\)//;
 s/ (.)/$n\1/g" | \
   sort | {
 read sizedef
 eval size=$(($sizedef))
 while read block
 do
   dd if=$device bs=$fsize skip=$block count=$frag 2>/dev/null
 
 done > $outfile
 
 # усекаем результат до правильной длины
 truncate -s $size $outfile
 }
 
 Eugene
 -- 
 И друзей успокоив и ближних любя,
 Мы на роли героев вводили себя.
 --- slrn/0.9.8.1 (FreeBSD)
  * Origin: Svyaz Service JSC (2:5006/1@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: undelete file   Eugene Grosbein   29 Aug 2007 16:20:33 
 Re: undelete file   Vlad Gnatov   29 Aug 2007 13:47:43 
 Re: undelete file   Eugene Grosbein   29 Aug 2007 17:42:28 
 Re: undelete file   Victor Sudakov   29 Aug 2007 18:38:55 
Архивное /ru.unix.bsd/26093ec7de94d.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional