Arquivar por categoria SSH

Copiar diretórios / pastas em SSH de um servidor para outro, com exceção de pastas ou arquivos

O comando abaixo permite que todo conteúdo da pasta public_html do servidor 1 seja copiado ao servidor 2 com exceção dos diretórios pasta1, pasta2, pasta3/pasta1

rsync -av ––exclude ‘pasta1’ ––exclude ‘pasta2’ ––exclude ‘pasta3/pasta1’ public_html/ <usuario>@<host>:public_html

Até a próxima

Marco

Nenhum comentário.

Executar sql em SSH

Comando simples para execução de arquivo .sql em SSH

[mysql -h ip_ou_host -u usuario_banco -p –default-character-set=utf8 banco_de_dados < instrucao.sql]

Nenhum comentário.

Copiar arquivo de um servidor para outro em SSH

Copiando arquivos via SSH

5 de Maio de 2012

Hi folks!
Hoje o assunto é a cópia de arquivos entre dois hosts via SSH pela rede.

Para isso usaremos o comando SCP.
Ele usa a mesma autenticação e fornece a segurança do SSH. Ele irá lhe perdir autenticação antes de iniciar a copia e transferências dos dados.

Como fazer:

$ scp <nome_arquivo> <ususario>@<ip_do_destino>:<diretorio_destino>

Onde:
<nome_arquivo>: nome do arquivo a ser copiado;
<ususario>: usuário no host destino que fará a autenticação via SSH;
<ip_do_destino> endereço ip ou nome do host de destino do arquivo;
<diretorio_destino> diretório para onde os arquivos serão copiados;

Exemplo:
$ scp /home/usuarior01/texto.txt root@192.168.1.25:/home/usuario02/Desktop

No exemplo acima copiamos o arquivo texto.txt da máquina local para o computador de IP 192.168.1.25 no Desktop do usuario02.

Dica:
Para copiar um diretório inteiro você pode usar o parâmetro ” -r “.

Exemplo:

scp -r <nome_diretorio> <usuario>@<ip_do_destino>:<diretorio_destino>

 

É isso! Até a próxima!

Nenhum comentário.

Comandos em SSH

SSH

Terminal1.png

SSH ( Secure Shell ) é um protocolo que permite conexão segura com outros computadores através de uma rede (por exemplo, a Internet). Dessa forma, você pode executar comandos remotamente no computador onde você está conectado, e todo o tráfego entre ambos estão criptografados. Isto significa que, mesmo que alguém copie todo o fluxo de dados entre o seu computador e o computador remoto, não será possível ser lido, visto que todo esse tráfego é cifrado, e somente tendo uma chave específica, será possível desfazer essa cifragem e finalmente entender o fluxo de dados.

 

Como acessar?

Usando Windows

Você vai precisar de um programa chamado PuTTY.
Clique aqui para efetuar o download.

Veja na imagem abaixo a tela de conexão.

  • Host name ( or IP adress ) informe o nome do seu domínio
  • Port 22
  • Connection type SSH
  • Clique em Open.

 

Putty wiki ssh.png

Na tela preta pedirá a informação Login as, informe o seu usuário de FTP.
Aperte a tecla enter do seu teclado.
Depois informe a sua senha de FTP e aperte enter novamente.
Pronto! O acesso ao SSH foi feito.

 

Putty wiki conexao 2.png

 

Usando GNU/Linux

Use o terminal (shell) para fazer o acesso.

O acesso deve ser feito usando o comendo: ssh usuário_de_ftp@nome_do_dominio.com
No exemplo da imagem abaixo usamos o comando: ssh leobarros@leobarros.x-br.com
Neste exemplo leobarros é o usuário de FTP e leobarros.x-br.com o nome do domínio.
Depois em password informe a senha de FTP e aperte enter no teclado.
Pronto! O acesso ao SSH foi feito.

 

Ssh login wiki.png

 

Principais comandos

Manipulação de Arquivos

Comando: cd
Descrição: Este comando é usado para navegar em diretórios. Use-o sem nenhuma opção para ir para o diretório root, seguido do comando a ser acessado ou ainda seguido de 2 pontos para que volte um nível.
Exemplo 1: cd
Exemplo 2: cd /usr
Exemplo 3: cd ..
Comando: cp
Descrição: Este comando é usado para copiar diretórios e/ou arquivos. Use-o seguido da opção -R para que sejam copiados todos os subdiretórios de um diretório.
Exemplo 1: cp teste.txt teste_final.txt
Exemplo 2: cp -R /home/diretorio /root
Comando: ls
Descrição: Este comando é usado para listar arquivos, diretórios e etc… em um diretório por exemplo. Use-o seguido da opção -l para que os dados sejam listados em uma única linha.
Exemplo: ls -l
Comando: rm
Descrição: Este comando é usado para remover arquivos e diretórios. Use-o seguido da opção -R para que sejam removidos todos os arquivos de um diretório.
Exemplo 1: rm teste.txt
Exemplo 2: rm -R /home/diretorio
Comando: mv Descrição: Este comando é usado para mover arquivos e diretórios para outros locais ou ainda para renomea-los.
Exemplo 1: mv teste.txt novo_teste.txt
Exemplo 2: mv /home/diretorio /root
Comando: mkdir
Descrição: Este comando é usado para criar diretórios.
Exemplo: mkdir teste
Comando: chmod
Descrição: Este comando é usado para alterar as permissões de arquivos e pastas. Use-o seguido da permissão desejada.
Exemplo: chmod 777 teste.txt
Comando: tar Descrição: Este comando é usado para compactar/descompactar arquivos com extensão .tar, .tar.gz
Exemplo(compactar): tar -zcvf arquivo.tar.gz teste.txt diretorio1 diretorio2
Exemplo(descompactar): tar -zxvf arquivo.tar.gz
Comando: zip
Descrição: Este comando é usado para compactar arquivos com extensão .zip
Exemplo: zip arquivo.zip teste.txt diretorio1 diretorio2
Comando: unzip
Descrição: Este comando é usado para descompactar arquivos com extensão .zip
Exemplo: unzip arquivo.zip
Comando: du
Descrição: Este comando é usado para calcular o espaço total de um diretório ou arquivo. Use-o seguido da opção -h para exibir o espaço em megabyte.
Exemplo 1: du -h ( lista todas as pastas do FTP informando o tamanho de cada uma, no final mostra o consumo total )
Exemplo 2: du -sh ( mostra apenas o espaço consumido )
Exemplo 3: du -h teste.txt ( mostra o tamanho do arquivo teste.txt )
Exemplo 4: du -h –max-depth=2 ( listará o espaço consumido dos diretórios em segundo nível )

 

Comandos de Busca

Comando: find
Descrição: Este comando é usado para localizar arquivos e diretórios.
Exemplo 1: find -name teste.txt
Exemplo 2: find /home/diretorio -name \*.txt
Comando: find -type f -perm 777
Descrição: Este comando vai listar todos os arquivos com permissão 777.
Comando: locate
Descrição: Este comando é usado para localizar arquivos e diretórios.
Exemplo: locate teste.txt
Comando: grep
Descrição: Este comando é usado para buscar uma expressão dentro de um arquivo.
Exemplo: grep palavra teste.txt

 

Outros comandos

Comando: / (refere-se ao diretório raiz no servidor)
Comando: ./ (refere-se ao diretório em que você se encontra)
Comando: ../ (refere-se ao diretório pai do que você se encontra)
Comando: pwd (mostra qual é o diretório em que você se encontra — dá o caminho completo)
Comando: ls -al (lista todos os arquivos + informações)
Comando: ls -alR (lista todos os arquivos + informações em todos os subdiretórios)
Comando: ls -alR > resultado.txt (lista todos os arquivos + informações em todos os subdiretórios, mas envia todas as informações para um arquivo ao invés de mostrar na tela)
Comando: ls -alR | more (lista todos os arquivos + informações em todos os subdiretórios, criando uma pausa)
Comando: ls *.html (lista todos os arquivos que terminam com .html)
Comando: ls -al home/usr/guto/ (lista todos os arquivos + informações de /home/usr/guto)
Comando: cd imagens (muda para o diretório imagens)
Comando: cd / (muda para o diretório raiz)
Comando: cd /home/usr/imagens (muda para o diretório /home/usr/imagens)
Comando: ls -d */ (lista todos os subdiretórios dentro do diretório atual)
Comando: rmdir nomedodiretório (apaga um diretório se estiver vazio)
Comando: rm -r nomedodiretório (remove um diretório e todos seus arquivos)
Comando: sed s/textoantigo/novotexto/g nomedoarquivo (faz uma varredura no arquivo e troca todas as ocorrências do [textoantigo] por [novotexto])
Comando: find / -name arquivo -print (procura em todo servidor por um arquivo)
Comando: find . -name arquivo -print (procura por um arquivo começando pelo diretório atual)
Comando: find / -name nomedodiretório -type d -print (procure no servidor inteiro por um diretório)

 

Permissão

Geralmente, quando instalamos algum plugin, complemento ou módulo, é possível que ele não funcione corretamente por problemas de permissão. Com isso, devemos identificar a pasta que necessita dessa permissão e modificá-lo conforme a regra de permissão. Ex: chmod -R 755/www/modules. A subpasta terá a permissão para ler e escrever.

  • 0 – Sem permissão
  • 1 – Permissão de execução
  • 2 – Permissão de escrita
  • 3 – Permissão de escrita e execução
  • 4 – Permissão de leitura
  • 5 – Permissão de leitura e execução
  • 6 – Permissão de leitura e escrita
  • 7 – Permissão de leitura, escrita e execução

Note que o primeiro algarismo diz respeito a permissões relativas ao proprietário do arquivo (ou da pasta). O segundo algarismo está vinculado ao grupo que tem direitos sobre o arquivo (ou sta). E o terceiro algarismo está relacionado aos outros usuários, que não estão diretamente relacionados com o arquivo (ou pasta). Logo, se você tiver uma permissão do tipo 723, significa que:

  • 7 – Permissão de leitura, gravação e execução para o usuário proprietário.
  • 2 – Permissão de leitura para o grupo proprietário.
  • 3 – Permissão de escrita e execução para os outros usuários.

 

Principais tipos de permissão

Precisamos saber qual tipo de permissão é necessária para cada tipo de arquivo, pois uma permissão mal aplicada poderá acarretar em problemas futuros. Muito cuidado com a permissão chmod 777, pois você dará permissões plenas (leitura, gravação e execução) a todos os usuários, e essa falha de segurança pode ocasionar-lhe muitos problemas.

 

  chmod 604 [arquivo] (para arquivos HTML)
  chmod 705 [nomedopasta] (para pastas)
  chmod 755 [arquivo] (script e programas)
  chmod 606 [arquivo] (permissão para arquivos de dados usados por scripts)
  chmod 703 [nomedopasta] (permissão para escrita no FTP público)

 

Corrigindo permissões de forma global

O padrão é manter permissão 644 para arquivos e 755 para as pastas.
Podemos fazer isso facilmente por SSH rodando os comandos abaixo:

Setar permissão 644 nos arquivos: find . -type f -exec chmod 644 ‘{}’ \;

Setar permissão 755 nas pastas: find . -type d -exec chmod 755 ‘{}’ \;

 

Nenhum comentário.