Правильная команда LFTP для загрузки только обновленных файлов

Я использую codeship.io для загрузки файлов из репозитория кода на виртуальный хостинг без SSH.

Это исходная команда, ее выполнение заняло два часа:

lftp -c "open -u $FTP_USER,$FTP_PASSWORD ftp.mydomain.com; установить номер ssl:verify-certificate; зеркало -R ${HOME}/clone/ /public_html/targetfolder"

Я попытался добавить -n, который должен загружать только новые файлы. Но я все еще вижу из журналов потоковой передачи, что некоторые неизмененные файлы загружаются:

lftp -c "open -u $FTP_USER,$FTP_PASSWORD ftp.mydomain.com; установить номер ssl:verify-certificate; зеркало -R -n ${HOME}/clone/ /public_html/targetfolder"

Какая правильная команда для корректной загрузки только обновленных файлов?


person mkto    schedule 11.03.2016    source источник


Ответы (2)


Команда правильная.

Вопрос в том, почему lftp считает файлы "измененными". Он загружает файл, если он отсутствует, имеет другой размер или время модификации.

Вы можете попробовать сделать «ls» в каталоге, куда lftp загружает файлы, и посмотреть, действительно ли файлы присутствуют, имеют тот же размер и такое же или более новое время модификации.

Если по какой-то причине время модификации больше, добавьте --ignore-time к команде зеркала.

person lav    schedule 06.04.2016
comment
Будьте осторожны, используя --ignore-time, потому что передача файла больше не отправляется, если файл изменился без изменения размера. Например, если файл содержит test4 и изменен на test5, это больше не будет обнаружено, и файл не будет заменен. - person Eñaut; 26.11.2020
comment
У меня была та же проблема, поэтому я использую другой инструмент для обработки изменений. И LFTP только для параллельной загрузки: dev.to/arxeiss / - person Arxeiss; 05.12.2020

Codeship сначала создает код перед развертыванием.

Это означает, что код на временном сервере Codeship новее, чем что-либо еще в вашем конвейере, даже если сам код не изменился.

Вот почему, когда вы используете опцию lftp «только новые файлы», это просто означает все.

Насколько я знаю, вы не можете загружать только самые новые файлы.

person FoxInFlame    schedule 08.12.2018