Copiar pasta/subpastas com excessão [RESOLVIDO]

1. Copiar pasta/subpastas com excessão [RESOLVIDO]

Hudson de Oliveira Souza
verovan

(usa openSUSE)

Enviado em 31/10/2013 - 08:53h

Bom dia Galera do VOL

Preciso de uma ajuda com relação a um pequeno problema, eu preciso fazer a cópia de uma pasta para de um servidor para outro, porém nessa pasta existem várias subpastas, preciso copiar todas exceto por uma em específico, como poderia fazer isso?


  


2. MELHOR RESPOSTA

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 01/11/2013 - 10:54h

Bom, vc pode fazer desta forma


#!/bin/bash

for pasta in $(find /tmp -name '*' | grep dados | grep -v BKP)
do

scp -rvp "$pasta" user@192.168.0.150:/caminho_destino/
if [ $? -eq 0 ]; then

echo "$pasta copiado para 192.168.0.150 em /caminho_destino"

else

echo "Erro ao copiar $pasta para 192.168.0.150, vide permissoes..."

fi

done


Sendo que o usuário "user" neste caso deve ter chave publica criado na 192.168.0.150.

3. Re: Copiar pasta/subpastas com excessão [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 31/10/2013 - 10:00h

Vc pode usar um looping com uma condição pra NÃO copiar a pasta X, por exemplo:

 
for pasta in $( blabla )
do

if [ "$pasta" != "PASTA_X" ]; then

echo "COPIA"

fi

done



4. Re: Copiar pasta/subpastas com excessão [RESOLVIDO]

Hudson de Oliveira Souza
verovan

(usa openSUSE)

Enviado em 31/10/2013 - 11:16h

alexandregms escreveu:

Vc pode usar um looping com uma condição pra NÃO copiar a pasta X, por exemplo:

 
for pasta in $( blabla )
do

if [ "$pasta" != "PASTA_X" ]; then

echo "COPIA"

fi

done


Oi Alexandre,

Obrigado pela ajuda, mas fiquei em duvida o que colocar no lugar do blabla, pois quero fazer a cópia usando o scp ou rsync.

pasta que quero copiar - dados
subpasta que não quero copiar - BKP
ip do servidor origem - 192.168.0.150


5. Re: Copiar pasta/subpastas com excessão [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 01/11/2013 - 11:04h

No comando "find /tmp -name '*' | grep dados | grep -v BKP" usei o caminho /tmp, deve-se alterar para o path correto..
Qualquer dúvida vai postando aí ..


6. Re: Copiar pasta/subpastas com excessão [RESOLVIDO]

Hudson de Oliveira Souza
verovan

(usa openSUSE)

Enviado em 01/11/2013 - 17:22h

alexandregms escreveu:

Bom, vc pode fazer desta forma


#!/bin/bash

for pasta in $(find /tmp -name '*' | grep dados | grep -v BKP)
do

scp -rvp "$pasta" user@192.168.0.150:/caminho_destino/
if [ $? -eq 0 ]; then

echo "$pasta copiado para 192.168.0.150 em /caminho_destino"

else

echo "Erro ao copiar $pasta para 192.168.0.150, vide permissoes..."

fi

done


Sendo que o usuário "user" neste caso deve ter chave publica criado na 192.168.0.150.


Funcionou aqui, muito obrigado






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts