Как восстановить каталог, который был только что удален командой «rm -R» (на облачном диске)?

10

Я удалил важный каталог с rm -Rкомандой. Это очень популярные данные хоста. Он был /var/zpanel/hostdata/ayrintilih найден После удаления каталога айринтилих все прошло.

Я пытался восстановить ext4magicпрограмму. Но для восстановления нужен другой том жесткого диска.

Сообщение об ошибке:

ERROR: can not use "/root/recoveried" for recover directory. It's the same filesystem : "/dev/dm-0"

Мой провайдер только что ответил на мой запрос:

Unfortunately there is no way to add another Volume to a virtual Instance. 
If it would be a dedicated Server, we could do it, but not in a Cloudserver. 
You could try to minimize the partition and create another one, that would 
count as another Volume. We also recommend to have allways a 
Backup for your Important files.
RedLEON
источник
25
Реальный вопрос заключается в том, сколько раз вам придется читать это: «Мы также рекомендуем всегда иметь резервную копию ваших важных файлов», прежде чем относиться к этому серьезно.
Златовласка
2
Еще один совет, всегда дважды подумайте, прежде чем вводить клавишу Enter, особенно если команда rm -R...
jlliagre
9
"Есть ли способ легко восстановить файлы?" Нет.
августа
1
@terdon Эй, погоди, это в каком-то облаке ??? Вы все еще должны делать резервные копии? Боже, что хорошего в этом облачном хранилище, если вам приходится делать собственные резервные копии, чтобы иметь возможность восстановить удаленные файлы? Где почасовой и ночной снимок, на который вы можете просто "вставить"? Резервные копии должны создаваться для ситуации, когда облако внезапно исчезает вместе с данными, а не для этих небольших сбоев, которые не приводят к реальной катастрофе.
Каз
2
Представитель службы поддержки интернет-провайдера может лгать или просто плохо информироваться. Или, может быть, это просто BOFH : «Там, у вас есть много места сейчас»
MSS

Ответы:

17

Undeletion становится все более и более мифом ESP. с современным оборудованием (SSD), где все, что удалено, также обнуляется (TRIM) сразу, так что нет никаких шансов получить что-либо обратно.

Лучше всего сделать изображение того, что у вас есть прямо сейчас, а затем посмотреть, осталось ли что-нибудь найти с помощью любых инструментов, которые вы пожелаете. Что-то вроде:

ssh -C remoteserver dd if=/dev/theserverdisk bs=1M > local/disk.img

Лучше всего иметь эту коробку в спасательной системе или иным образом заморозить всю коробку (только для чтения) для этой операции, поскольку любая и все записи только причиняют дополнительный урон в этой точке.

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

losetup --find --show --partscan --read-only disk.img

А затем перейдите к использованию любых спасательных инструментов по вашему выбору на устройстве петли.

frostschutz
источник
спасибо @frostschutz. Но сделано, сделано. Я не мог восстановить любой файл.
RedLEON
Помог мне в восстановлении ~ 1 ГБ данных. Тип диска сервера: SSD.
Merqlove
Но как быть с тем вниманием, которое уделяется цифровой криминалистике и военизированному шпионажу? Будет ли восстановление легче, хотя требует знания аппаратных избыточностей и хитростей?
can-ned_food
3

Если у вас есть доступ к другому компьютеру с Linux / Unix / OSX и т. Д., Возможно , можно использовать sshfsдля монтирования удаленной папки и создания резервной копии к ней (инструкции адаптированы здесь ).

  1. Установить sshfs на сервер

    yum install fuse sshfs
    

    Возможно, вам придется включить репо EPEL, если он еще не включен.

  2. Загрузите модуль FUSE ( на сервер )

    modprobe fuse
    
  3. Выберите каталог на своем домашнем компьютере и смонтируйте его на сервере CentOS

    redleon@local$ mkdir /remote_backup
    

    Теперь на удаленном сервере запустите

    mkdir /backup
    sshfs root@1.2.3.4:/remote_backup /backup
    

    Вам нужно будет изменить 1.2.3.4фактический IP-адрес вашего локального компьютера .

Как только это будет сделано, у вас будет удаленная файловая система, смонтированная локально, и вы можете попробовать запустить ее ext4magicи указать для нее резервное копирование /backup. Я не могу гарантировать, что это сработает, но, похоже, стоит попробовать.

Тердон
источник
2

Вы можете попробовать использовать tmpfsвиртуальный диск для восстановления. Это, конечно, требует, чтобы у вас было достаточно свободной памяти для объема данных, которые вы хотите восстановить.

Хотя в целом, я думаю, что ответ frostschutz бьет по гвоздю в голову - «восстановление» редко работает. Пусть это будет для вас уроком и сделайте резервные копии.

Мартин фон Виттих
источник
А восстановление целого каталога, полного объектов и структуры подкаталогов, будет еще более рискованным, чем просто потеря файлов.
Каз
0

Файловые системы семейства "ext" поддерживают определенную способность восстановления, которая даже иногда работает. Утилиты, подобные следующим, могут быть полезны:

http://www.mynitor.com/2010/01/19/10-tools-to-recover-deleted-files-in-linux/ http://extundelete.sourceforge.net/

(Я попробовал некоторые из них сам с разумными результатами).

oakad
источник
-2

Многие из вас принизили жертву здесь, вместо того, чтобы ответить на вопрос. Жертва определила систему как облачную. Вместо того, чтобы предполагать, что он удалил без резервной копии, почему бы не предположить, что есть резервная копия, и ему нужно восстановить каталог из резервной копии? Это то, что вы (приуменьшители) сделали бы, если бы вам пришлось восстанавливать, не так ли?

Если ваша система размещена в системе, которая предоставляет вашего провайдера, они будут делать резервные копии на регулярной основе. Вам нужно задать им правильный вопрос, чтобы они поняли и ответили правильно, но вы должны быть в состоянии ВОССТАНОВИТЬ или ВОССТАНОВИТЬ каталог из их резервной копии. Некоторые данные могут быть потеряны в зависимости от времени последнего резервного копирования.

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

Если это НЕ система с одним человеком, существует вероятность того, что есть ИТ-отдел и метод резервного копирования. ИТ-отдел может помочь вам, и вы должны обратиться к ним, а не пытаться восстановить папку / каталог самостоятельно.

Если это домашняя система, и вы являетесь ИТ-отделом, а резервные копии строго локальны, вы можете создавать резервные копии с помощью CRON и TAR. Проверьте настройки CRON, чтобы увидеть, куда вы положили файлы TAR. Посмотрите в файле tar, чтобы получить точный путь и имя:

 tar -tvf <backup name>.tar

Распакуйте его.

 tar -xvf <backup name>.tar <directory name>

Сделайте man tar для получения дополнительной информации, или, конечно, еще один Google для tar и резервного копирования информации.

Будущие соображения включают в себя другие параметры резервного копирования, и мусор может напечатать удаление вместо реального удаления. Удаление с помощью корзины может включать создание псевдонима для rm, который перемещает элементы в каталог с именем «корзина», а не действительно удаляет. Затем вы очищаете его либо с помощью Cron, либо вручную, когда вам это нравится, или начинаете занимать мало места.

Джордж Мур
источник