Я использую scp для копирования материалов в удаленное местоположение. Но иногда scp не работает должным образом, я обнаружил, что иногда копирование не завершается должным образом (возможно, когда я добавил новые файлы в папку, которую я копирую).
Поэтому я хочу сначала удалить удаленную папку, а затем сделать копию, чтобы убедиться, что у меня есть именно то, что мне нужно.
Существуют ли другие команды, такие как scp (например, srm или smv)? Или есть способ удалить удаленные папки и файлы?
ssh you@host bash -c "command1;command2;command3; commandN"
.Rsync скопирует весь путь / дерево и проверит файлы, уже находящиеся в месте назначения, и не будет копировать их, если они не изменились. Если вы используете параметр --delete, он удалит все файлы, которые находятся в месте назначения, которых больше нет в источнике. Работает над ssh
источник
rsync -avz -e shh root@location:/path/to/dest /path/from/host
но после ввода пароля произойдет сбойsh: rsync: not found
. Означает ли это, что rsync должен существовать на удаленном компьютере? Благодарность!Если ваш удаленный SSH-сервер поддерживает подсистему SFTP (в большинстве случаев, если она явно не отключена), вы можете использовать
sftp
оболочку (или любой другой SFTP-клиент ) для управления файлами и каталогами на удаленном сервере.К сожалению, основная
sftp
оболочка, по-видимому, не обрабатывает рекурсивное удаление каталогов; Для того, чтобы удалить каталог, вы должны сначала удалить все его содержимое. Большинство других клиентов (особенно графических) обычно поддерживают это.(Вы не упоминаете, какая у вас локальная ОС, но если это Linux, вы можете использовать свой собственный файловый менеджер в качестве клиента SFTP с графическим интерфейсом , указав его на URL-адрес, например, sftp: // user @ host / path /. Для Windows, WinSCP является достойным клиентом, а FileZilla - хорошим кроссплатформенным решением.)
источник
Чтобы очистить удаленный (/ local) каталог, используйте rsync следующим образом:
Будьте осторожны - он удаляет все ниже указанного места назначения!
источник
ssh server rsync --version
илиssh -v server rsync --version
найти причину.В качестве альтернативы, монтирование удаленного каталога в локальном, затем удаление его
rm -r /path_to_directory_to_remove
и, наконец, размонтирование каталога делает свое дело.Оригинальный ответ здесь: /programming//a/24650511/973919
источник