Установите lftp
если у вас его еще нет. Затем создайте скрипт bash, содержащий следующее:
#!/bin/bash
TARGET='/remote/folder'
SOURCE='/your/local/folder'
lftp -f "
open <hostname>
user <username> <password>
lcd $SOURCE
mirror --reverse --delete --verbose $SOURCE $TARGET
bye
"
Замените <hostname>
, <username>
и <password>
вашими фактическими данными.
Это эффективно синхронизирует ваши локальные файлы с удаленной папкой, удаляя все, что больше не существует локально (это опция delete
). --reverse
указывает, что вы хотите обновить вашу удаленную папку вместо локальной.
Загляните на man-страницу lftp
для более подробной информации. И всегда имейте готовую резервную копию, чтобы вы ничего не удаляли в случае сбоя команды.
Это адаптировано из этого сценария здесь.