Подтвердить что ты не робот

Использование rsync для удаления одного файла

Файл foo.txt существует на удаленном компьютере по адресу:/home/user/foo.txt

Он не существует на локальной машине.

Я хочу удалить foo.txt с помощью rsync.

Я не знаю (и предполагаю для целей этого вопроса, что не могу узнать), какие другие файлы находятся в /home/user на локальных или удаленных компьютерах, поэтому я не могу просто синхронизировать весь каталог.

Какую команду rsync можно использовать для удаления foo.txt на удаленном компьютере?

4b9b3361

Ответ 1

Попробуйте следующее:

rsync -rv --delete --include=foo.txt '--exclude=*' /home/user/ [email protected]:/home/user/

(настоятельно рекомендуем запустить с --dry-run сначала, чтобы проверить его) Хотя кажется, что было бы проще использовать ssh...

ssh [email protected] "rm /home/user/foo.txt"

Ответ 2

Это немного тривиально, но если, как и я, вы пришли на эту страницу в поисках способа удаления содержимого каталога с удаленного сервера с помощью rsync, я так и сделал:

  1. Создайте пустую макетную папку:

    mkdir mock

  2. Синхронизировать с ним:

    rsync -arv --delete --dry-run ~/mock/remote_server:~/dir_to_clean/

  3. Удалите --dry-run из строки выше, чтобы действительно сделать это.

Ответ 3

Как предложено выше, используйте --dry-run для тестирования

rsync -rv --delete [email protected]:full/path/to/foo.txt

Ответ 4

Как предложено выше, используйте --dry-run для проверки ранее. --delete удаляет файлы в удаленном местоположении в соответствии с man-страницей rsync.

rsync -rv --delete [email protected]:full/path/to/foo.txt

Комментарий ниже о том, что этот список будет только неправильным. Для просмотра списка используйте только --list-only и удалите --delete.