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

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

Я удалил важный каталог с помощью rm -Rкоманды. Это очень популярные данные хоста. Он был расположен /var/zpanel/hostdata/ayrintilih После удаления каталога 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.

решение1

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

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

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

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

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

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

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

решение2

Если у вас есть доступ к другой машине 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 [email protected]:/remote_backup /backup
    

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

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

решение3

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

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

решение4

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

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

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

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

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

 tar -tvf <backup name>.tar

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

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

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

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

Связанный контент