LINUX.ORG.RU

Восстановление файлов в ReiserFS


0

0

Умная юзерша утром грохнула на серваке работу... :-)
Файловая система ReiserFS. Сервак с тех пор не перегружался.

Можно ли в этом случае восстановить файлы? Скорее всего, данные не потеряны. Возможно, просто надо как-то откатить журнал?


Ответ на: комментарий от Selecter

Угу. Ну... не сложилось. :-) Ко мне претензий нет (юзерша сама идиотка), но данные восстановить бы надо как-то. :-)

Ну ни в жизнь не поверю, что это невозможно. :-)

R00T
() автор топика
Ответ на: комментарий от R00T

интересно, под оффтопом EasyRecovery рейзер ест ??
я когда-то ею с отформатированного диска выдирал /boot, бывшего до этого там ASPа (ext3)

anonymous
()
Ответ на: комментарий от R00T

>Ну ни в жизнь не поверю, что это невозможно. :-)
Возможно,возможно помнится где-то видел люди использовали
reiserfsck --rebuild-tree -S /dev/hd*
и у некоторых работало ;)

anonymous
()
Ответ на: комментарий от anonymous

Ага. Только везде на это пишется про возможность massive filesystem corruption... Вот уж такого исхода мне СОВСЕМ не хочется.

Тогда можно поставить вопрос так: а нельзя ли каким-то образом сказать системе, чтобы она заглянула в журнал по состоянию на 8.00 утра сегодняшнего дня для каталога, скажем, /home/username и скопировала файлы оттуда в указанный каталог?

R00T
() автор топика
Ответ на: комментарий от R00T

http://www.namesys.com/faq.html#poweroff

Data in files that were being used at the time of the crash could have been corrupted. This is usual for most filesystems. Data journaling filesystems guarantee that there will be no garbage written into a file, but they don't guarantee that a file update will be. (Only reiser4 guarantees that filesystem operations are performed as atomic operations, and provides atomic transaction functionality.)
ReiserFS V3 does not guarantee the file contents themselves are uncorrupted nor that no data is lost.

UVV ★★★★★
()
Ответ на: комментарий от UVV

Это я читал. Это касается ситуации выключения питания при неотмонтированных разделах.

То есть, несколько не то что надо. :-)

R00T
() автор топика
Ответ на: комментарий от R00T

If you really need to undelete a file, that's the way to do it:

grep -a -B[size before] -A[size after] 'text' /dev/[your_partition]

Replace [size before], [size after] and [your_partition] with something meaningfull. Don't know what your partition is? Read the Linux undelete manual!

e.g.: If you want to undelete a letter (+- 200 lines) starting with "Hi mum" which was stored on /dev/hda1 you can try:

grep -a -B2 -A200 "Hi mum" /dev/hda1

Make sure you do this as root (System administrator)

Read the grep manual page for more information!

Read your unix's manual. Perhaps it contains an own undeletion program.

UVV ★★★★★
()
Ответ на: комментарий от UVV

Восстановление файлов в ReiserFS

Извиняюсь, вот ещё!

http://recover.sourceforge.net

Oh nooooooooooooo, your fingers slipped and touched the spacebar. All you files are gone!!!! What should you do? Commit suicide, harakiri? No, it might still be possible to recover some files...
In order to undelete a file, you must know the following things:

    * On which device your file was stored
    * What kind of file system was used (eg. ext2, reiserFS, vfat) 

To find it out, type 'mount | column -t' in the shell, or to make it evan more easy, copy-paste or type this into your shell:

echo "DEVICE DIRECTORY FS-TYPE" > tmp; mount | cut -d" " -f1,3,5 | \ sort >> tmp; cat tmp | column -t | sed -e "1s/.*/`tput smso`&`tput rmso`/"

The output should be something like this:

bash$ mount | column -t
/dev/hda5  on  /               type  ext2      (rw)
proc       on  /proc           type  proc      (rw)
usbdevfs   on  /proc/bus/usb   type  usbdevfs  (rw)
devpts     on  /dev/pts        type  devpts    (rw)
/dev/hda1  on  /mnt/windows/C  type  vfat      (rw,noexec,nosuid,nodev)
/dev/hda6  on  /mnt/windows/E  type  vfat      (rw,noexec,nosuid,nodev)
/dev/hdc5  on  /mnt/oldwin     type  vfat      (rw,noexec,nosuid,nodev)

bash$ echo "DEVICE DIRECTORY FS-TYPE" > tmp; mount | cut -d" " -f1,3,5 | \
sort >> tmp; cat tmp | column -t | sed -e "1s/.*/`tput smso`&`tput rmso`/"
DEVICE     DIRECTORY       FS-TYPE
/dev/hda1  /mnt/windows/C  vfat
/dev/hda5  /               ext2
/dev/hda6  /mnt/windows/E  vfat
/dev/hdc5  /mnt/oldwin     vfat
devpts     /dev/pts        devpts
proc       /proc           proc
usbdevfs   /proc/bus/usb   usbdevfs

Now, of which (printed) directory was the directory of your deleted file a subdirectory? E.g. if your file was stored on /home/user , you'll have to look for '/', since no closer match can be found. Found it? Cool, right now it's a piece of cake to find the device on which the file was stored and the filesystem type of the device.

Ok, now you know the essentials to undelete a file. This can be done in several ways:

    * If the filesystem is ext2:
          o recover
          o Midnight Commander
    * Not ext2:
          o Read your file-system's manual
          o The unix way

I hope this helps. If you need more help, try searching google for more info. Good luck! 

UVV ★★★★★
()
Ответ на: Восстановление файлов в ReiserFS от UVV

Хм... Она вообще на эту команду пишет ошибку "sed: -e expression #1, char 16: Unterminated `s' command".

Да и механику этого дела я что-то не пойму. :-( Судя по всему, она просто меняет 1-й символ в имени файла? Но тогда это еще приемлемо для FAT и EXT2, но уж никак для журналируемых файловых систем.

R00T
() автор топика
Ответ на: комментарий от R00T

Восстановление файлов в ReiserFS

If you need more help, try searching google for more info. Good luck!

UVV ★★★★★
()
Ответ на: комментарий от R00T

> Ага. Только везде на это пишется про возможность massive filesystem corruption...

Вообще то ни кто с дисками напрямую не работает при востановлении,
везде рекомендуют делать заранее образ диска в файл,
а потом уже работать с этим файлом.

anonymous2 ★★★★★
()
Ответ на: комментарий от anonymous2

Да это понятно... Вот только винт на 200 гигов как-то трудновато куда-то копировать... :-(

R00T
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.