Dicas de Utilização de uma VPS Linux
LinuxNeste 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:
- Gerar a chave localmente (no seu computador):
ssh-keygen -t ed25519 -C "[email protected]"
- Copiar a chave pública para o servidor:
ssh-copy-id -i ~/.ssh/id_ed25519.pub usuario@IP_do_servidor
- 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.