ManageBackups V2
This commit is contained in:
52
linux/backups_manage/README.md
Normal file
52
linux/backups_manage/README.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# 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']
|
||||
```
|
||||
Reference in New Issue
Block a user