Как удалить все файлы с помощью lftp, кроме cgi-bin и .ftpquota

Я настраиваю новый конвейер ci/cd на gitlab. Для развертывания мне нужно запустить npm run build, а затем скопировать папку dist/ на веб-сервер через ftp (с lftp). Чтобы обеспечить чистое развертывание, сценарий должен сначала удалить все файлы, кроме папки cgi-bin и файла .ftpquota на веб-сервере, а затем скопировать файлы.

Я исследовал Интернет и не нашел подходящего решения. С флагом --delete lftp удаляет все файлы.

Это мой сценарий до сих пор:

- lftp -c "set ftp:ssl-allow no; open -u $USERNAME,$PASSWORD $HOST; mirror -Rnev dist/ ./ --ignore-time --delete --parallel=10 --exclude-glob .git* --exclude .git/"

Мой текущий скрипт удаляет все файлы, но я хочу, чтобы он удалял все, кроме папки cgi-bin и файла .ftpquota.


person toxerli    schedule 05.10.2019    source источник
comment
Проверьте этот ответ - › unix.stackexchange.com/a/138213/153843   -  person Alejandro Teixeira Muñoz    schedule 06.10.2019
comment
ты решил это?   -  person Alejandro Teixeira Muñoz    schedule 07.10.2019


Ответы (1)


Как видно на unix.stackexchange.com вы должны добавить опцию -x:

Пожалуйста, проверь это

person Alejandro Teixeira Muñoz    schedule 06.10.2019