Como copiar diretórios recursivamente com scp


0

Bash Shell

Um problema comum ao trabalhar com arquivos é aplicar operações recursivamente ou a todos os subdiretórios da pasta inteira. o scp utilitário é usado para transferir arquivos e diretórios para servidores remotos e oferece suporte a operações recursivas.

Executando scp recursivamente

Embora às vezes seja mais rápido fazer grandes transferências em um único arquivo conhecido como tarball, na maioria das vezes a sobrecarga da transferência de arquivos individuais não importa.

Copiando recursivamente com scp é fácil: basta usar o -r sinalizador, além de tudo o que você adicionou:

scp -r localpath user@remote:/remotepath

Observe que isso está explicitamente em minúsculas -r, ao contrário de muitos outros comandos que usam ou exigem -R.

Isso funcionará como um arrastar e soltar em /remotepath/, copiando o conteúdo de localpath/ para o remoto e colocá-los em /remotepath/localpath/.

Propaganda

Se você quiser sincronizar localpath/ e /remotepath/, você terá que transferir a pasta para a pasta pai de /remotepath/, o destino. Neste caso, isso seria /, o diretório raiz.

Isso também seguirá links simbólicos no caminho local ao resolver arquivos, mas não criará necessariamente esses mesmos links no servidor remoto. Por exemplo, copiar um novo arquivo de e para /etc/nginx/sites-enabled não irá colocá-lo automaticamente /etc/nginx/sites-available no controle remoto.

Usando rsync em vez

O Linux tem várias ferramentas para lidar com esse trabalho, e uma das melhores é rsync, que faz tudo scp pode fazer, mas tem muito mais opções e é muito mais rápido para inicializar. Ele também não copia arquivos que não foram alterados, o que o torna uma ótima ferramenta para “sincronizar” continuamente dois diretórios entre si, sem retransferir dados desnecessariamente.

rsync funciona basicamente da mesma forma que scp, com mais algumas opções incluídas para especificar as configurações:

rsync -a -essh localpath/ user@remote:/remotepath/

o -a bandeira especifica modo de arquivo, que ativa várias opções comumente usadas de uma só vez. o -e ssh bandeira configura rsync para transferir por SSH.

RELACIONADO: Como usar rsync para fazer backup de seus dados no Linux


Like it? Share with your friends!

0

What's Your Reaction?

hate hate
0
hate
confused confused
0
confused
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win

0 Comments

Your email address will not be published. Required fields are marked *

Choose A Format
Personality quiz
Series of questions that intends to reveal something about the personality
Trivia quiz
Series of questions with right and wrong answers that intends to check knowledge
Poll
Voting to make decisions or determine opinions
Story
Formatted Text with Embeds and Visuals
List
The Classic Internet Listicles
Countdown
The Classic Internet Countdowns
Open List
Submit your own item and vote up for the best submission
Ranked List
Upvote or downvote to decide the best list item
Meme
Upload your own images to make custom memes
Video
Youtube, Vimeo or Vine Embeds
Audio
Soundcloud or Mixcloud Embeds
Image
Photo or GIF
Gif
GIF format