Мне нужна помощь в настройке rsync для передачи файлов с удаленного сервера на локальный компьютер, а затем для удаления файлов с удаленного сервера после их успешного перемещения на локальный компьютер.
В настоящее время я использую следующую комбинацию, которая выполняет копирование с удаленного на локальный штраф, но не удаляет, как хотелось бы.
rsync -avvru --delete-excluded /remote/location /local/location
В каждом блоке установлен rsync, и с удаленного сервера выполняется отправка вышеуказанной команды на локальный компьютер
Я не совсем знаком со всеми функциями rsync
, но я использую его для резервного копирования. Я бы порекомендовал просто сделать скрипт bash
с rsync
и скриптом поиска и удаления или просто rm -r
.
Примерно так:
#!/bin/bash
rsync -avvru --delete-excluded /remote/location /local/location
rm -rf /remote/location
Используйте это:
rsync -avvu --remove-source-files /remote/source /local/destination
Хотя при этом удаляются успешно переданные файлы из источника, он не удаляет каталоги.
Опция --delete-excluded
позволяет удалять исключенные файлы из места назначения, а не из источника. Для упрощения все опции --delete
удаляют файлы из места назначения, что, вероятно, вам не нужно.
Кроме того, в этом случае нет необходимости в -r
. Параметр -a
подразумевает это.