вторник, 8 ноября 2011 г.

Восстановление файлов удаленного vhost

Случилось непоправимое и данные с одного из vhost'ов были удалены.
Ну чтож. Воспользовался утилитой extundelete, которую предварительно скомпилировал на тестовой машине.
Но возникла проблема. vim показал что в конце многих файлов дописано окончание из рандомного количества символов "^@". после гуглинга было выяснено что это так называемый null character.
Из-за их присутствия неправильно передавались заголовки и страница не могла отобразиться. 
Ну чтож - здесь на помощь пришел sed. Регулярочка такая:
find /var/www/<vhost>/ -name "*.php" -exec sed -i 's/\x0//g' {} \;

тоже самое можно повторить для всех необходимых Вам типов файлов, как то жава-скрипты, html страницы, да и прочие файлы обрабатываемые как код;