Меню сайта
   Главная   
   Обо мне   
   Статьи   
   Дневник   
   Картинки   
   Файлы   
   Форум   
   Гостевая книга   

Категории раздела
Куклы и игрушки [60]
Личное [116]
Музыка [19]
Общее [304]
Японский язык [12]
ZX Spectrum [70]
Субмарины [98]
Настольные игры [34]
Го (碁) [11]
Книги [16]
Япония [26]
Таро [4]
Запертый шкаф [17]
CSA (КША) [15]
GNU/Linux [134]
Ubuntu [103]
Manjaro Linux [39]
Python [3]
Магнитольное [44]
Commodore64 [14]
Игровые приставки [2]


 
Дневник (2019 » Май » 18 в 06:25)
GNU/Linux Восстановить пропавший текст веб-формы

Нет времени объяснять, просто не закрывай firefox!
Не раз такое уже случалось, что пишешь вдумчивый пост или комментарий на сайте, но случайно жмёшь назад, и текст пропадает. Или отправляешь, а он пропадает из-за сбоя  или удаляется.  Остаётся рвать на себе волосы, и заново выуживать текст из головы. Так вот сегодня мне это надоело и я пошёл гуглить, что можно сделать в таком случае.

Оказалось, что можно. Надо сделать дамп памяти процесса браузера, прогнать его grep, и сохранить найденное в файл.  Решения есть для всех систем, но в силу своего интереса к linux, приведу решение только под него. Остальные можно найти по ссылке в конце записи.

Убедитесь, что у вас установлен пакет gdb (GNU Debugger). Вам понадобится утилита gcore, которая может делать дамп оперативной памяти, которую использует запущенный процесс с определённым PID. Установка в Manjaro:
yaourt -S gdb

Узнаём PID процесса. Надеюсь браузер вы не закрыли:
ps -e | grep firefox

Теперь запустите gcore, чтобы создать дамп памяти для этого процесса: 
gcore номер_процесса
Во избежание глюков я сразу запускал от sudo. Плюс надо сперва выбрать каталог с достаточным свободным местом - жирнолис очень прожорлив по памяти.

В текущем каталоге при запуске gcore появляется файл core.номер_процесса (например, core.20727). Кстати, учитывайте, что размер файла может быть очень большим. Например, у меня он сейчас получился 934 MiB.

Теперь попробуйте с помощью grep проверить, есть ли в дампе нужные данные. Например, если в тексте вы упоминали слово копираст, то:
grep 'копираст' core.20727

В случае успеха можно смело вырезать фрагмент в текстовой файл:
grep -B 20 -A 20 -a 'копираст' core.20727 > /path/to

В данном случае вы сообщаете grep, что с данным двоичным файлом требуется работать как с текстом, а также что для каждого совпадения требуется вывести 20 предшествующих и 20 последующих строк.

Теперь можно просмотреть найденное:
less /path/to


  1. Как за одну минуту восстановить текст после неудачной отправки веб-формы
    https://habr.com/ru/post/169193/

Категория: GNU/Linux | Просмотров: 431 | Добавил: harushima | Рейтинг: 0.0/0 |
Всего комментариев: 0.
В целях защиты от спама, добавлять комментарии могут только зарегистрированные пользователи. Если Вы не хотите регистрироваться под своим именем, войдите под логином: anonymous, паролем: anonymous.   ( Регистрация,   Вход).
Авторизация
Анонимный вход:
anonymous / anonymous
Логин:
Пароль:

Календарь
«  Май 2019  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Поиск

Облако тэгов
JGSDF игрушки Брюнетки Кладбище сайты Ярость Дракулы Древний Египет девушки кошки Cthulhu Вампиры Kitsune Ужас Аркхема инструмент комиксы Lovecraft готика Submarine submarine rc toy Hosting игротека Ужас Аркхэма book uboat мобильная связь го Edgar Poe swf Mansions of Madness Nightmares персоны Synergy linux-hardware bash youtube Storages Python Мастер-рукожоп Магнитофоны Entropy Grub2 loglevel WiFi Beeline ОПСОСЫ sharp939 Аудиокассеты Windows linuxwork Хочуны ImageMagick топБарыг C64c Commodore

Статистика
Яндекс.Метрика
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Page QR code


Перепечатка материалов сайта без активной ссылки запрещена. Следить за RSS
(c) hermitlair.ucoz.com 2009-2024
Лучший браузер!
Блокировка рекламы