copiar varias pastas de uma vez só [RESOLVIDO]

1. copiar varias pastas de uma vez só [RESOLVIDO]

marcio inacio
miloceano

(usa Outra)

Enviado em 22/06/2016 - 10:36h

Ola a todos, desde ja quero pedir desculpa se estiver perguntando algo de forma errada.

sou novo em linux e preciso fazer um script para copiar alguns diretórios ate ai sem problema uso o cp -Rapu resolveu meu problema
mas preciso copiar cerca de 10 diretórios de um que tem 20, pensei em um script pra rodar automático, mas so a 1 linha que fiz e a que roda.

se ja tiverem respondido e puderem me indicar algum link.
agradeço qualquer ajuda que me derem.

desde ja agradeço.


  


2. Re: copiar varias pastas de uma vez só [RESOLVIDO]

Ricardo Fabiano Silva
madrugada

(usa Gentoo)

Enviado em 22/06/2016 - 11:23h

Pesquise no google por "rsync exclude".
Não me recordo a sintaxe agora, mas você exclui os diretórios que não quer copiar.


3. Re: copiar varias pastas de uma vez só [RESOLVIDO]

marcio inacio
miloceano

(usa Outra)

Enviado em 22/06/2016 - 13:07h

e um bom comando e ate resolveria,
o problema e que nescessito de uma lista de exclusão e minha lsita e ignorada.
aqui esta o que fiz
uma lista:
vi exclusao.txt
~/dir1/dir2
~/dir1/dir3

depois o comando:
rsync -Cravtu -exclude-from='~/home/exclusao.txt' ~/dir1 ~/dirN

ele chega a copiar o diretório base o dir1 mas os subdiretórios não são copiados
se antes do exclude colocar "--" ao inves de "-" ele copiar tudo e ignora a lista.

continuo pesquisando, mas qualquer ajuda e bem vinda, brigado.


4. Re: copiar varias pastas de uma vez só

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 22/06/2016 - 14:00h

Suponha a seguinte árvore de diretórios:
A
|- A1
|- A2
|- A21
|- A22
|- A3


Como eu copiaria apenas A1, A22 e A3 para B:
$ cp -t B A !(A/A2/A21) 


Como eu copiaria apenas A1 para B:

$ cp -B A !(A2|A3) 

--
Dino®
Vi veri universum vivus vici
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta
Mensagem do dia: Satã representa conhecimento sem limites e não auto-ilusão hipócrita. 



5. Re: copiar varias pastas de uma vez só [RESOLVIDO]

marcio inacio
miloceano

(usa Outra)

Enviado em 22/06/2016 - 16:17h

lcavalheiro escreveu:

Suponha a seguinte árvore de diretórios:
A
|- A1
|- A2
|- A21
|- A22
|- A3


Como eu copiaria apenas A1, A22 e A3 para B:
$ cp -t B A !(A/A2/A21) 


Como eu copiaria apenas A1 para B:

$ cp -B A !(A2|A3) 

--
Dino®
Vi veri universum vivus vici
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta
Mensagem do dia: Satã representa conhecimento sem limites e não auto-ilusão hipócrita. 


Valeu, mas não funciono.
tentei de varias formas mas infelizmente não funciono
se entendi direito fico assim
cp [opção] [destino] [origem] ! (exclusão)
porem sempre da erro no !

se fiz algo de errado por favor me corrija.
valeu.


6. solução temporaria

marcio inacio
miloceano

(usa Outra)

Enviado em 23/06/2016 - 10:12h

vasculhei a internet em busca de uma solução e a melhor que achei ate o momento foi essa

cp-Rapu [diretório origem] [diretório origem] [diretório origem] [diretório origem] [diretório destino]

resolve meu problema.
porem como tenho que fazer mais de 20 diretórios para copiar imagina o tamanho da linha de comando
claro que farei um script disso, mas ainda estou a procura de uma solução melhor

agradeço a ajuda de todos.


7. Re: copiar varias pastas de uma vez só [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/06/2016 - 10:49h

Tenta com o for:
Crie um arquivo de texto com os diretórios que vc quer copiar, cada um numa linha, depois...
$ for i in `cat diretorios.txt`; do cp -r $i /destino; done


8. Re: copiar varias pastas de uma vez só [RESOLVIDO]

marcio inacio
miloceano

(usa Outra)

Enviado em 23/06/2016 - 15:31h

PauloHAC escreveu:

Tenta com o for:
Crie um arquivo de texto com os diretórios que vc quer copiar, cada um numa linha, depois...
$ for i in `cat diretorios.txt`; do cp -r $i /destino; done


Valeu PauloHAC.
funcionou, pelo menos nos teste funcionou de boa, brigado mesmo.
e a todos que me ajudaram, meus agradecimentos.

vou deixar aqui o que fiz para ajudar a todos:

criei uma lista.txt
/home/teste1
/home/teste2

no script coloquei
#!/bin/sh
for i in $(cat lista.txt);
do
cp -Rapu $i /mnt/pendriver;
done


com isso copiei as duas pastas do arquivo txt para o pendriver.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts