Командная строка ZIP - Как заархивировать целую папку, но обойти другие имеющиеся архивы?

Командная строка ZIP - Как заархивировать целую папку, но обойти другие имеющиеся архивы?

Мне поручили обновить несколько наших сайтов, поэтому перед этим мне нужно заархивировать папку public_html, чтобы создать резервную копию.

Проблема в том, что в public_html есть куча других ZIP-файлов, которые являются старыми резервными копиями, и я не хочу их удалять на случай, если резервная копия не удастся или по какой-то другой причине нам придется вернуться на 2-3 резервные копии назад.

Но поскольку они там есть и попадают в каждую резервную копию, файл резервной копии растет и растет, поскольку он содержит в себе по сути каждую предыдущую резервную копию.

Так есть ли способ настроить вызов командной строки zip так, чтобы он получал все файлы, кроме найденных файлов .zip или .gzip?

решение1

Быстрый ответ — исключить существующие zip-файлы:

zip -r foo /path/to/public_html -x '*.zip' -x '*.gzip'

Добавьте/удалите -xпараметры в соответствии с существующим соглашением об именовании файлов zip и gzip.

Долгосрочным решением было бы хранить файлы резервных копий вне папки public_html, чтобы они не попадались вам в резервных копиях.

Связанный контент