Я попробовал все, что я знаю и десятки старых сообщений форума на такого рода вещи... ничто не работает.
Я загрузил резервный каталог Wordpress на веб-сервер после того, как существующий был непреднамеренно удален.
Я не знаю, почему, однако, путь, которым резервное копирование заархивировало, кажется странным, и я не могу получить проклятую вещь распаковать правильно.
В лучшем случае методы, которые я в настоящее время использую, распаковывают все каталоги/подкаталоги Wordpress, но ВСЕ файлы в них остаются сжатыми с ".gz" расширением файла.
существует больше чем 500 файлов в подпапках для выполнения этой задачи на.
Кто-то может предоставить мне простой и прямой ответ о том, как достигнуть этой задачи?
Я могу получить часть пути со следующим кодом, однако, это не пойдет рекурсивно в не сжатые подпапки, ища больше ".gz" файлов для распаковки (примечание... папки/подпапки уже распаковываются, но не файлы в них).
для f в wordpress/.gz; сделайте gunzip $f; сделанный*
Можно достигнуть этого с find
(См.: страница справочника) и -exec
флаг. поскольку архивы tar следующая строка добьются цели:
find wordpress/ -type f -name *.tar.gz -exec tar -xf {} \;
Для gunzip можно использовать:
find wordpress/ -type f -name *.gz -exec gunzip -k {} \;
Если существуют оба типы файлов, необходимо сделать это довольно отличающееся немного, первый показ gunzip без -k
(сохраните файл), флаг и затем выполняет строку находки для файлов tar также крошечный измененный бит:
find wordpress/ -type f -name *.gz -exec gunzip {} \;
find wordpress/ -type f -name *.tar -exec tar -xf {} \;
для добавления к ответу, я отметил, поскольку корректный для меня... вот является код другом, отправленным, чтобы я скопировал и его инструкции.
из public_html/каталога я попробовал обе из следующих опций кода.
для f в wordpress/.gz; сделайте gunzip $f; сделанный*
вышеупомянутое означало бы что для спуска больше чем одного подуровня, я должен буду ввести его много раз путем добавления большего количества подкаталогов, например, Wordpress/подкаталога / *.gz, wordpress/subdirectory/subdirectory/... и т.д.
Самая простая опция - этот ниже... Протестируйте сначала с
найдите, что Wordpress / - называет "*.gz" - должностное лицо ls - люфтганза {} \;
ls - люфтганза не повреждается, что-либо кроме Вас видит, какие файлы она смешала бы. Если файлы являются корректными, изменяют ls - люфтганза к gunzip.
найдите, что Wordpress / - называет "*.gz" - должностное лицо gunzip {} \;
Читать man find
, man xargs
, и сделайте что-то вроде этого:
find wordpress -type f -iname '*.gz' -print0 |\
xargs -0 -r -n 1 gunzip
Для тестирования, замены gunzip
с echo gunzip
Добавить к ответу @videonauth:
Если вы хотите распаковать файлы .tar.gz в подпапках в ту же подпапку, а не в корневую папку, где вы запускаете команду , вы можете использовать параметр -execdir:
find wordpress/ -type f -name *.tar.gz -execdir tar -xf {} \;