Как распаковать tgz на сервере

Как распаковать tgz на сервере

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

Ранее сайт хостился на американском шареде, где лежало еще с десяток других сайтов. После нескольких жалоб от хостера было решено перевезти сайт на отдельный хостинг, и, желательно, поближе к Беларуси. Выбор пал на одного из российских хостеров, чей дата-центр расположен в Санкт-Петербурге.

На старом хостинге сайт был запакован в tgz (tar/gzip) и скачан на комп. Осталось дело за малым, закачать его на новый сервер и распаковать.

И вот тут ступор. Я думал, что все хостинги нынче по умолчанию поддерживают SSH (наивный).

Так как размер архива был почти 900 мегабайт, а количество файлов измерялось в десятках тысяч, вариант загрузки файлов по FTP сразу отпал. Хостер предложил вариант заливки сайта по частям через контрольную панель в архивах zip с единственным ограничением — размер архива не должен превышать 10 мегабайт. Заливать по очереди 90 файлов мне не улыбалось, и я начал искать альтернативный вариант. Итак, вот он:

Заливаем наш 900 мегабайтный архив.tgz в папку, к которой прикручен домен. Распаковывать мы будем c помощью небольшого php-скрипта.

Открываем нормальный текстовый редактор (я использую notepad++), и вставляем туда следующий код:

<?system(‘tar -xzf xxx.tar.gz’);?>

Сохраняем файл под любым именем с расширением php, к примеру, 1.php. Не забываем переписать строчку с названием архива (в коде это archive.tgz). Скрипт также может распаковывать архивы с расширением tar.gz.

Теперь заливаем этот файл в корень вашего сайта, туда же, где уже ждёт распаковки наш tgz архив.

Домен уже должен быть прикручен к новому хостингу и привязан к папке. Набираем в адресной строке браузера адрес http://%url-вашего-сайта%/1.php

Нажимаем в вашем фтп-клиенте кнопку обновить, и радуемся распакованному архиву. Не забываем удалить после распаковке сам архив и скрипт, которым мы его распаковывали.

Мой блог находят по следующим фразам:

Июл 25, 2010

Чего то не работает.
Вот ошибка вылезает:
Parse error: syntax error, unexpected T_STRING in /home/*****/public_html/admin/unpack.php on line 2

Дек 25, 2010

Там надо поправить апостровы на обычный, непарный: ‘

Мар 17, 2011

а код где? который в скрипт вставлять

Мар 19, 2011

Эндрю это ошибка синтаксиса! Тоесть ошибка написания кода.посмотри мож гдето кавычки не поставлены.

Авг 16, 2011

Статья конечно интересная, а где САМ КОД ???

Окт 25, 2011

да, шляпа)

Янв 7, 2012

Код в студию пожалуйста!

Янв 7, 2012

Глюкнул вордпресс, код вставил заново

Окт 24, 2012

Спасибо, прекрасное решение! Пригодится не только для распаковки

Окт 8, 2013

Ух, ты, не знал……надеюсь не пригодится, но на всякий случай запомню и запишу)

Наши спонсоры

Счетчики