Script de Gerenciamento de Backup
Script para gerenciamento e rotação de backups em servidores FTP.
Funcionalidades
- Varredura Dinâmica: Detecta automaticamente novas pastas de usuários em
/home/ftpuser. - Organização Plana: Arquivos antigos são movidos para
antigos/usuario/, preservando a estrutura original. - Limpeza Automática:
- Arquivos com mais de 15 dias são movidos para a pasta de arquivamento.
- Arquivos na pasta de arquivamento com mais de 60 dias são excluídos permanentemente.
- Logs de execução com mais de 30 dias são removidos.
- Logs Detalhados: Gera logs diários em
/home/ftpuser/logs/.
Instalação e Uso
1. Dependências
O script utiliza apenas bibliotecas padrão do Python 3. Certifique-se de ter o Python 3 instalado:
sudo apt update
sudo apt install python3
2. Configuração do Cron
Adicione a seguinte linha ao crontab (crontab -e ou /etc/crontab) para executar o script diariamente (ex: meia-noite):
0 0 * * * root /usr/bin/python3 /usr/local/sbin/manage_backups.py
3. Parametrização e Filtros
As configurações podem ser ajustadas no topo do arquivo manage_backups.py:
Retenção:
DIAS_MOVER = 15 # Dias antes de mover para 'antigos'
DIAS_EXCLUIR_ANTIGOS = 60 # Dias antes de excluir permanentemente de 'antigos'
DIAS_RETENCAO_LOGS = 30 # Dias de retenção dos logs
Filtros (Ignorar Pastas e Arquivos): Você pode configurar pastas e extensões que o script deve ignorar completamente (não mover nem excluir):
# Pastas para ignorar na varredura
DIRETORIOS_IGNORAR = ['antigos', 'logs', 'temp']
# Extensões para ignorar (ex: executáveis, isos)
EXTENSOES_IGNORAR = ['.exe', '.iso']