Dicas de Utilização de uma VPS Linux

Linux  

Neste artigo, vamos abordar dicas úteis para quem já tem uma VPS Linux configurada e deseja entender melhor como acessá-la, gerenciar arquivos, executar processos, monitorar recursos e realizar backups de forma simples.

Observação: Muitos dos comandos aqui descritos podem exigir privilégios de administrador. Você pode executá-los como root ou com sudo (se estiver conectado com um usuário não privilegiado que possua permissão de sudo).

1. Acesso Remoto via SSH

A forma mais comum de acessar remotamente sua VPS é pelo protocolo SSH (Secure Shell). Para isso, você precisa de um cliente SSH:

  • Linux/macOS: Você pode usar o terminal com o comando ssh.
  • Windows: O Windows 10/11 já possuem o OpenSSH cliente integrado via PowerShell, mas também há clientes populares como o PuTTY.

Exemplo de conexão:

ssh usuario@IP_do_servidor

Caso você tenha alterado a porta padrão do SSH (por exemplo, para 2022):

ssh -p 2022 usuario@IP_do_servidor

SSH usando Chaves Públicas

Para aumentar a segurança, a autenticação por chave pública é recomendada. O procedimento geral consiste em:

  1. Gerar a chave localmente (no seu computador):
    ssh-keygen -t ed25519 -C "seu_email@example.com"
    
  2. Copiar a chave pública para o servidor:
    ssh-copy-id -i ~/.ssh/id_ed25519.pub usuario@IP_do_servidor
    
  3. Conectar sem precisar de senha (caso a autenticação por senha esteja desabilitada ou após inseri-la):
    ssh usuario@IP_do_servidor
    

Para mais informações sobre como configurar o SSH, confira o artigo Dicas de Configurações para VPS Linux.

2. Transferência de Arquivos

Para enviar e receber arquivos entre seu computador local e a VPS, algumas ferramentas podem ser utilizadas:

SCP (Secure Copy)

Funciona de forma semelhante ao comando cp, mas para transferência via SSH.

Exemplo de envio de um arquivo local para o servidor:

scp arquivo_local.txt usuario@IP_do_servidor:/caminho/de/destino/

Para baixar do servidor para a máquina local:

scp usuario@IP_do_servidor:/caminho/no_servidor/arquivo_remoto.txt .

SFTP (Secure File Transfer Protocol)

Oferece uma interface interativa (como um FTP via SSH):

sftp usuario@IP_do_servidor
# Depois de conectado, você pode usar comandos internos como:
sftp> get arquivo_no_servidor.txt
sftp> put arquivo_local.txt
sftp> ls
sftp> exit

Rsync

Para transferências mais eficientes, principalmente em diretórios com muitos arquivos ou backups incrementais:

rsync -avz caminho/local/ usuario@IP_do_servidor:/caminho/remoto/

Opções comuns:

  • -a (archive) preserva permissões, datas, etc.
  • -v (verbose) mostra detalhes da transferência.
  • -z (compress) comprime os dados antes de enviá-los, economizando banda.

Clientes SFTP/SSH gráficos

  • FileZilla (multiplataforma)
  • WinSCP (Windows)

Basta selecionar o protocolo SFTP, inserir host, usuário e senha (ou chave) para gerenciar arquivos de forma gráfica.

3. Gerenciamento de Serviços e Processos

Systemd

Na maioria das distribuições Linux modernas, o systemd é utilizado para gerenciar serviços (daemons). Alguns comandos úteis:

Verificar status de um serviço:

systemctl status nome_do_servico

Iniciar manualmente um serviço:

systemctl start nome_do_servico

Parar um serviço:

systemctl stop nome_do_servico

Reiniciar um serviço:

systemctl restart nome_do_servico

Habilitar o serviço para iniciar automaticamente na inicialização:

systemctl enable nome_do_servico

Desabilitar a inicialização automática:

systemctl disable nome_do_servico

Processos em tempo real

Para visualizar os processos em execução:

top

ou

htop

(o htop pode ser instalado via gerenciador de pacotes e possui interface mais amigável).

4. Monitoramento de Recursos

Observar o uso de CPU, memória, disco e rede é fundamental para garantir a estabilidade do servidor.

free -h: Mostra uso de memória RAM e swap de forma legível:

free -h

df -h: Exibe uso de disco em cada partição:

df -h

du -sh <diretório>: Informa o tamanho de um diretório ou arquivo, útil para descobrir o que está ocupando espaço:

du -sh /var/log

uptime: Mostra há quanto tempo o sistema está ligado, quantidade de usuários logados e carga média da CPU:

uptime

iostat e vmstat (pacote sysstat em algumas distros) podem ajudar a identificar gargalos de I/O e uso de CPU.

5. Gerenciamento de Pacotes e Atualizações

É importante manter o sistema atualizado e instalar novos pacotes de forma segura.

Atualizar lista de pacotes:

sudo apt update

Instalar atualizações disponíveis:

sudo apt upgrade

Instalar um pacote específico:

sudo apt install nome_do_pacote

Remover um pacote:

sudo apt remove nome_do_pacote

6. Tarefas Agendadas (Cron)

O cron permite a execução agendada de scripts e tarefas. Para editar o arquivo de configuração do usuário atual:

crontab -e

Cada linha no crontab segue a sintaxe:

MINUTO HORA DIA_DO_MES MES DIA_DA_SEMANA comando

Por exemplo, para executar um backup todos os dias às 03h da manhã:

0 3 * * * /usr/local/bin/meu_script_de_backup.sh

Dica: Sempre teste seus scripts manualmente antes de agendá-los.

7. Backup Básico

Manter backups regulares é essencial para prevenir perda de dados. Estratégias podem variar conforme a criticidade do sistema, mas segue um exemplo simples usando tar e cron:

Criar um script de backup:

#!/bin/bash
DATA=$(date +%Y%m%d-%H%M)
ARQUIVO="backup-$DATA.tar.gz"
DESTINO="/home/usuario/backups"

# Diretório(s) ou arquivo(s) que deseja fazer backup
FONTE="/var/www/html"

# Gera o arquivo compactado
tar -czf "$DESTINO/$ARQUIVO" $FONTE

Tornar o script executável:

chmod +x /usr/local/bin/meu_script_de_backup.sh

Adicionar ao crontab (por exemplo, diário às 3h):

0 3 * * * /usr/local/bin/meu_script_de_backup.sh

Para armazenar o backup em outro servidor, você pode enviar o arquivo usando scp ou rsync.

8. Monitoramento de Logs

A análise de logs é fundamental para entender o comportamento do sistema e solucionar problemas.

Os logs geralmente estão localizados no diretório /var/log. Aqui estão alguns dos arquivos de log mais comuns:

/var/log/syslog ou /var/log/messages: Contém mensagens gerais do sistema.

/var/log/auth.log: Registra tentativas de login e eventos relacionados à autenticação.

/var/log/kern.log: Logs do kernel do sistema.

/var/log/apache2/ ou /var/log/nginx/: Logs de servidores web Apache ou Nginx.

/var/log/dpkg.log: Registra eventos relacionados ao gerenciamento de pacotes em sistemas baseados no Debian.

Comando tail

tail -f exibirá as últimas 10 linhas do arquivo e continuará monitorando o surgimento de novas linhas:

tail -f /var/log/arquivo.log

Para ver mais linhas iniciais, por exemplo 20:

tail -20f /var/log/arquivo.log

Se você não usar a opção f o comando vai somente exibir o número de linhas que você solicitou, não vai ficar aguardando o surgimento de novas linhas.

Para sair, use Ctrl+C.

Comando less

less permite rolagem, pesquisa e modo de acompanhamento:

less /var/log/arquivo.log

Para entrar no modo de acompanhamento (como tail -f) pressione Shift+F.

Para sair do modo de acompanhamento e navegar para trás, pressione Ctrl+C e depois b para rolar.

Para pesquisar, digite / seguido do termo desejado.

Para voltar ao acompanhamento, pressione Shift+F.

Para sair do less, saia do modo de acompanhamento e pressione q.