Команда для архивирования каталога с помощью определенного каталога в качестве корня

Я пишу Сценарий PHP, который загружает серию сгенерированных файлов (использование wget) в каталог, и затем архивирует затем, с помощью zip команда.

Загрузки работают отлично, и архивирование главным образом работает. Я выполняю команду:

zip -r /var/www/oraviewer/rgn_download/download/fcst_20100318_0319.zip /var/www/oraviewer/rgn_download/download/fcst_20100318_0319

который приводит к zip-файлу со всеми загруженными файлами, но он содержит полное /var/www/oraviewer/rgn_download/download/ каталоги, прежде, чем достигнуть fcst_20100318_0319/ каталог.

Я, вероятно, просто пропускаю флаг или что-то маленькое, от команды zip, но как я заставляю ее использовать fcst_20100318_0319/ как корневой каталог?

34
задан Tarka 18 March 2010 в 20:23
поделиться

1 ответ

Я не думаю, что у zip есть флаг для этого. Я думаю, что единственный способ - это что-то вроде:

cd /var/www/oraviewer/rgn_download/download/ && \
   zip -r fcst_20100318_0319.zip fcst_20100318_0319

(Обратная косая черта предназначена только для ясности, вы можете удалить ее и поместить все в одну строку.)

Поскольку PHP выполняет команду в подоболочке, она не изменится ваш текущий каталог.

40
ответ дан 27 November 2019 в 17:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: