52 lines
1.7 KiB
Markdown
52 lines
1.7 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
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):
|
|
|
|
```bash
|
|
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:**
|
|
```python
|
|
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):
|
|
|
|
```python
|
|
# Pastas para ignorar na varredura
|
|
DIRETORIOS_IGNORAR = ['antigos', 'logs', 'temp']
|
|
|
|
# Extensões para ignorar (ex: executáveis, isos)
|
|
EXTENSOES_IGNORAR = ['.exe', '.iso']
|
|
``` |