wergio
@wergio
Программист - любитель!

Как удалить файл источник после его загрузки?

Мне нужно передать файл с сервера "А" на сервер "Б", после успешной передачи удалить его с сервера "А".

Пробовал wget передавать, а потом удалять с помощью curl.
curl ftp://"host " -X 'DELE
Но большие файлы удаляет недожавшись передачи.

Обновлено:29.11.2022

В итоге сделал вот так:
curl -Q '-DELE  test.txt' -u login:pass ftp://remote/home/test.txt'  -o /local/home/ test.txt;
  • Вопрос задан
  • 270 просмотров
Пригласить эксперта
Ответы на вопрос 4
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Рекомендую почитать здесь - https://blog.eduonix.com/shell-scripting/how-to-au...
Ответ написан
Комментировать
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
curl "ftp..." && rm <filename> || echo "Error uploading

В случае ошибки во время передачи файла - локального удаления не будет. Но и на удалённом сервере при разрыве коннекта файл окажется не целиком. Ну и при ошибке - будет вывод текста.
Ответ написан
Комментировать
@linux81
rsync --delete-after
Ответ написан
@rPman
rsync --remove-source-files -checksum

скачает и удалит исходные файлы только после успешной проверки, повторный запуск не удалит уже скачанное в целевом каталоге, заменяет файлы с тем же именем

на сколько я помню при использовании rsync сервера докачка будет наиболее эффективной по ресурсам
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы