Usando la línea de comando de Linux, uso el scp
comando para copiar todos los archivos y carpetas de un determinado directorio. Sin embargo, no me gusta consumir ancho de banda, para copiar cosas rara vez cambio como mi tiny_mce
carpeta. ¿Cuál es el truco para copiar todo, pero omitir una breve lista de carpetas?
ssh
synchronization
file-copy
remote
Michael Prokopec
fuente
fuente
Puede probar rsync que solo copia archivos que han cambiado, también funciona a través de ssh.
fuente
El uso
rsync --exclude
es la opción más obvia aquí, pero si realmente desea enviar algunos archivos o carpetas y tiene algo específico para excluir, puede usar la función de globo de shellscp
. Primero asegúrese de tener las opciones correctas de gloging establecidas en su shell. Para bash runshopt -s extglob
y para uso de zshsetopt ksh_glob
. Entonces algo como esto:... copiaría todo en la carpeta de origen, excepto las cosas que coinciden con el patrón dado. Obviamente puedes ser creativo con esa parte.
fuente
rsync
es una buena solución, pero si buscas una alternativa:Digamos que tenemos un directorio "prueba" que contiene los directorios "foo, bar, baz". En estos directorios hay un montón de diferentes tipos de archivos:
Queremos copiar todo excepto los PNG
En este ejemplo, el comando colocará todos los archivos en el mismo directorio de destino; este puede no ser el comportamiento que desea.
fuente
\[*?
).Una gran herramienta que puede probar es "lftp".
También puede usar RSync sobre ssh
Deberia trabajar.
fuente
Acabo de terminar de escribir cómo prefiero unísono a rsync cualquier día, ya que
*.bak
. Muestras en mi archivo de configuraciónfuente
Uso de copia segura - scp
scp -r file user@host:
Para copiar muchos archivos
scp /directory/* user@host:destinationPath
Para copiar algunos archivos
scp /directory/!(*.doc) user@host:destinationPath
Copia el contenido del directorio excepto los archivos .doc
fuente
Sin duda te recomendaría rsync.
rsync -vra --exclude = "lo que quiere excluir" -e ssh folder user @ remotehost: / folder
fuente
Esto es lo que funcionó para mí cuando lo ejecuté desde el servidor de destino.
fuente
Podemos hacerlo en dos pasos para ignorar el
tiny_mce
directorio. Suponiendo que todos los directorios comienzan con letras minúsculas.Además, cambie USER, HOSTNAME y FOLDER a los valores reales.
fuente