У меня есть NAS с кучей файлов, которые я не хочу терять, и Linux VPS с 250 ГБ свободного места.
NAS работает FTPS сервер. VPS работает под управлением Debian / Linux
Я хочу, чтобы VPS копировал / отражал все содержимое FTPS в локальную папку один раз в неделю. Под этим я подразумеваю:
При первом запуске скопируйте все файлы, которые находятся в указанной папке на FTPS, в локальную папку (включая подпапки)
При втором запуске добавьте все новые файлы, которые либо обновляются (другой размер или дата изменения)
Удалите все локальные файлы на VPS, которые больше не доступны на сервере FTPS.
Никогда не трогайте содержимое сервера FTPS / NAS.
Я уверен, что должен быть какой-то сценарий или программа, которые я могу использовать, чтобы решить эту проблему. Те, которые я нашел до сих пор, предназначены либо для Windows, либо не поддерживают FTPS.
Ты можешь использовать lftp
(человек lftp) клиент скомпилирован с поддержкой SSL. Оно имеет mirror
команда, которая копирует указанный исходный каталог в локальный целевой каталог. Эта команда имеет дополнительные параметры, такие как delete files not present on remote site
что вам нужно. Базовое использование этой команды может быть следующим:
# run this from VPS
# where to mirror data from SFTP server
cd vps_dir
# mirror data
lftp -u username,password -e "cd remote_dir; mirror --delete; quit" sftp://FTP_SERVER