rsyn c команда для удаления каталога в удаленной системе - PullRequest
0 голосов
/ 04 марта 2020

Существует удаленная система, в которой у меня есть права на чтение / запись только в одной директории. Я использую его для хранения результатов ночных сборок.

Для загрузки результатов за указанный c день я делаю rsync из <date_dir> в удаленном каталоге, используя следующую команду:

rsync -zavR <date_dir> <server_name>:/path/of/the/directory/where/i/have/permission/

Теперь иногда мне нужно удалить каталог <date_dir> в месте назначения. Для этого я попробовал следующую команду:

rsync -avh <date_dir> <server_name>:/path/of/the/directory/where/i/have/permission/ --delete

Эта команда удаляет содержимое <date_dir> в месте назначения, но сам каталог <date_dir> не удаляется.

Я также пытался дать --force-delete в команде rsyn c, но в моей системе выдается следующая ошибка:

rsync: --force-delete: unknown option

Что может быть командой для удаления <date_dir> каталог на удаленном сервере, используя rsync.

PS: я пытался настроить аутентификацию без пароля с использованием SSH, но у меня нет прав для этого.

Ответы [ 2 ]

1 голос
/ 04 марта 2020

Поскольку это тот самый каталог, который вы собираетесь скопировать, rsync не удалит его. --delete означает удаление каталога или файла, который не существует на стороне отправителя. Очевидно, date_dir существует на вашем локальном компьютере (в противном случае rsyn c будет жаловаться на копирование несуществующего каталога). Если вы хотите сохранить свой локальный каталог и удалить только удаляемую копию, rsync не является правильным инструментом, но вы можете использовать rsh ..... rm -r для удаления каталога на удаленной стороне.

0 голосов
/ 04 марта 2020

РЕШЕНИЕ :

В данном контексте у меня работает следующая команда:

rsh <server_name> "rm -rf /path/of/the/directory/where/i/have/permission/<date_dir>"

...