Estou usando o scp para copiar coisas para um local remoto. Mas, às vezes, o scp não funciona conforme o esperado, mas algumas vezes a cópia não é concluída corretamente (possivelmente quando adicionei novos arquivos à pasta que estou copiando).
Então, quero remover a pasta remota primeiro e depois fazer a cópia para garantir que eu tenha exatamente o que preciso.
Existem outros comandos como o scp (por exemplo, srm ou smv)? Ou existe uma maneira de remover pastas e arquivos remotos?
ssh you@host bash -c "command1;command2;command3; commandN"
.O Rsync copiará um caminho / árvore inteiro e verificará os arquivos que já estão no destino e não se incomodará em copiá-los se eles não forem alterados. Se você usar a opção --delete, ele excluirá todos os arquivos que estão no destino que não estão mais na origem. Funciona sobre ssh
fonte
rsync -avz -e shh root@location:/path/to/dest /path/from/host
Mas ele falha após digitar a senhash: rsync: not found
. Isso significa que o rsync precisa existir no PC remoto? Obrigado!Se o seu servidor SSH remoto suportar o subsistema SFTP (a maioria faz, a menos que tenha sido explicitamente desativado), você poderá usar o
sftp
shell (ou qualquer outro cliente SFTP ) para manipular arquivos e diretórios no servidor remoto.Infelizmente, uma coisa que o
sftp
shell básico aparentemente não trata é a remoção recursiva de diretório; para excluir um diretório, você deve excluir todo o seu conteúdo primeiro. A maioria dos outros clientes (especialmente os gráficos) normalmente o suporta.(Você não menciona qual é o seu sistema operacional local, mas se for Linux, poderá usar o gerenciador de arquivos nativo como cliente SFI da GUI , apontando-o para uma URL como sftp: // user @ host / path /. Para Windows, WinSCP é um cliente decente e o FileZilla é uma boa solução entre plataformas.)
fonte
Para esvaziar um diretório remoto (/ local), use rsync assim:
Tenha cuidado - ele remove tudo abaixo do destino especificado!
fonte
ssh server rsync --version
oussh -v server rsync --version
encontrar o motivo.Como alternativa, montar o diretório remoto em um local, removê-lo
rm -r /path_to_directory_to_remove
e, finalmente, desmontar o diretório faz o truque.Resposta original aqui: /programming//a/24650511/973919
fonte