Estoy usando scp para copiar cosas a una ubicación remota. Pero a veces scp no funciona como se esperaba, he descubierto que a veces la copia no se completa correctamente (posiblemente cuando agregué nuevos archivos a la carpeta que estoy copiando).
Entonces, primero quiero eliminar la carpeta remota y luego hacer la copia para asegurarme de que tengo exactamente lo que necesito.
¿Hay otros comandos como scp (por ejemplo, srm o smv)? ¿O hay alguna forma de eliminar carpetas y archivos remotos?

ssh you@host bash -c "command1;command2;command3; commandN".Rsync copiará una ruta / árbol completo y verificará los archivos que ya están en el destino y no se molestará en copiarlos si no han cambiado. Si usa la opción --delete, eliminará todos los archivos que están en el destino que ya no están en la fuente. Funciona sobre ssh
fuente
rsync -avz -e shh root@location:/path/to/dest /path/from/hostPero falla después de ingresar la contraseña que dicesh: rsync: not found. ¿Eso significa que rsync tiene que existir en la PC remota? ¡Gracias!Si su servidor SSH remoto admite el subsistema SFTP (la mayoría lo hace, a menos que se haya deshabilitado explícitamente), puede usar el
sftpshell (o cualquier otro cliente SFTP ) para manipular archivos y directorios en el servidor remoto.Desafortunadamente, una cosa que el
sftpshell básico aparentemente no maneja es la eliminación recursiva de directorios; Para eliminar un directorio, primero debe eliminar todo su contenido. Sin embargo, la mayoría de los otros clientes (especialmente los gráficos) sí lo admiten.(No menciona cuál es su sistema operativo local, pero si es Linux, puede usar su administrador de archivos nativo como cliente GUI SFTP apuntándolo a una URL como sftp: // user @ host / path /. Para Windows, WinSCP es un cliente decente y FileZilla es una buena solución multiplataforma).
fuente
Para vaciar un directorio remoto (/ local), use rsync así:
Tenga cuidado: elimina todo lo que se encuentre debajo del destino especificado.
fuente
ssh server rsync --versionossh -v server rsync --versionencontrar el motivo.Como alternativa, montar el directorio remoto en uno local, luego eliminarlo
rm -r /path_to_directory_to_removey finalmente desmontar el directorio hace el truco.Respuesta original aquí: /programming//a/24650511/973919
fuente