Чужой шелл vs bat. Исправляем результаты кривой архивации
SSH (eng. secure shell – безопасная оболочка) – консоль сервера, набор программ, позволяющих регистрироваться на компьютере по сети, удаленно выполнять различные команды, редактировать, копировать и перемещать файлы и каталоги.
Предисловие, благодарности
Пользуясь случаем, необходимо поблагодарить всех, принимавших участие в совершенствовании компьютера, операционных систем, Putty, 7-Zip и WinRAR. Возможно, эта заметка кому-то пригодится, в том числе и ее автору, причем раньше, чем он себе представляет. Если Вы никогда не занимались переносом сайтов с одного хостинга на другой, архивированием и восстановлением файлов на сервере или Вы – один из наших клиентов, которым нет необходимости в это вникать, почитайте лучше это или посмотрите это.
Сотни моих файлов превратились в архивы. Что делать?
Произойти это может по разным причинам. К примеру, для архивирования файлов на хостинге masterhost отлично подходит команда
zip -r archive.zip dirname
На другом хостинге эта команда может заархивировать каждый файл с уничтожением исходного, в результате сайт превращается в кучу архивов *.gz в подкаталогах.
На этот случай есть такой вариант разархивирования всех файлов:
find . -name '*.gz' -print | sed 's/^\(.*\)[.]gz$/gunzip < "&" > "\1"/' | sh
Если это не работает (иногда шелл, например, не распознает команду unzip), есть более универсальный способ с использованием Windows, WinRAR.
- Перекачиваем все файлы, можно их предварительно упаковать в один архивный файл.
- В папку с архивами бросаем и запускаем "батник" 1.bat с таким содержанием:
@echo OFF REM Extract the content of all archive files in the current directory for %%f in (*.tgz;*.tar.gz;*.gz;*.zip) do "C:\Program Files\WinRAR\WinRAR.exe" x "%%f" REM Perform the same in all sub-directories for /D %%d in (*) do cd %%d && call %0 && cd..
При этом предполагается, что исполнимый файл WinRAR находится в папке C:\Program Files\WinRAR\
При необходимости расширения искомых архивов можно отредактировать, в данном случае ищем *.tgz;*.tar.gz;*.gz;*.zip
Можно добавить rar, если Вы являетесь счастливым обладателем папок с такими архивными файлами.
- Поскольку у WinRAR на сегодняшний день нет ключа, позволяющего удалить файлы после распаковки,
следующим действием нужно удалить из папки все архивы. Запускаем 2.bat с текстом (*.gz меняем при необходимости)
@echo OFF for /r . %%i IN (*.gz) do del /s/q "%%i"
Должна получиться папка с исходными файлами, которую можно закачать в архиве обратно на сервер и там распаковать или вернуть начальнику с напоминанием о повышении зарплаты.
Следующая статья: Тенденции создания логотипов в 2015 году https://capweb.ru/tendenczii_sozdaniya_logotipov_v_2015_godu.html
Предыдущая статья: Как правильно продвигать сайт услуг или интернет-магазин https://capweb.ru/how-to-promote.html