diff --git a/Instal-Proxy-Sinc.sh b/Instal-Proxy-Sinc.sh index 9a3603c..89a493c 100644 --- a/Instal-Proxy-Sinc.sh +++ b/Instal-Proxy-Sinc.sh @@ -270,7 +270,7 @@ EOF cat > "$MAN_DIR/proxy-sinc.8" << 'EOF' .TH PROXY-SINC 8 "Setembro 2025" "iT Guys - Equipa de Infraestrutura" "Ferramentas de Sistema" .SH NAME -proxy-sinc \- Serviço de versionamento automático de configurações de servidor +proxy-sinc \- Serviço de versionamento automático de configurações de servidor. .SH SYNOPSIS .B systemctl status proxy-sinc.timer .br @@ -281,34 +281,65 @@ proxy-sinc \- Serviço de versionamento automático de configurações de servid .B man proxy-sinc .SH DESCRIPTION .B proxy-sinc -é um serviço de sistema que automatiza o controlo de versões de ficheiros de configuração críticos. A cada minuto, ele executa um script que sincroniza os ficheiros definidos em \fI/etc/proxy-sinc/paths.conf\fR para um repositório Git e envia as alterações para um repositório remoto. +é um serviço de sistema que automatiza o controlo de versões de ficheiros de configuração críticos. A cada minuto, ele executa um script que sincroniza os ficheiros e diretórios definidos em \fI/etc/proxy-sinc/paths.conf\fR para um repositório Git. Se forem detetadas alterações, ele cria um commit e envia as alterações para um repositório Git remoto (Gitea). .PP -A autenticação e outras configurações são guardadas em \fI/etc/proxy-sinc/git.conf\fR durante a primeira instalação. +Esta abordagem garante um histórico completo de todas as alterações, facilita a recuperação de desastres e serve como um backup centralizado. .SH CONFIGURAÇÃO -A gestão dos ficheiros e diretórios a serem sincronizados é feita através do ficheiro: +.SS Adicionar/Remover Ficheiros para Sincronização +A gestão dos ficheiros e diretórios a serem sincronizados é feita através do ficheiro de texto: .TP \fB/etc/proxy-sinc/paths.conf\fR -Adicione um caminho absoluto por linha. Linhas vazias ou que começam com '#' são ignoradas. -.SH ATUALIZAÇÃO -.SS ATUALIZAÇÃO MANUAL -Para forçar uma atualização, execute: \fBproxy-sinc-update\fR +Adicione um caminho absoluto por linha. Linhas vazias ou que começam com '#' são ignoradas. O script irá sincronizar cada caminho para a raiz do repositório Git. .sp -Este comando baixa e executa a versão mais recente do script de instalação. Ele irá ler as suas credenciais guardadas e pedir apenas a sua identificação de colaborador para o registo de deploy. -.SS ATUALIZAÇÃO AUTOMÁTICA -O sistema inclui um timer (\fIproxy-sinc-update.timer\fR) que executa o comando \fBproxy-sinc-update\fR automaticamente uma vez por semana. -.SH FICHEIROS +Exemplo de conteúdo para \fI/etc/proxy-sinc/paths.conf\fR: +.nf +# Ficheiros e diretórios a serem versionados +/etc/nginx +/etc/fail2ban +/etc/zabbix/zabbix_agentd.d/meu_parametro.conf +.fi +.SS Ver as Credenciais do Repositório +As credenciais (URL, Utilizador, Token) usadas para a autenticação com o Gitea são guardadas de forma segura no seguinte ficheiro, que só pode ser lido pelo root: .TP \fB/etc/proxy-sinc/git.conf\fR -Ficheiro seguro (apenas root) que guarda as credenciais do Git (URL, utilizador, token). +Para ver o conteúdo, use o comando: \fIsudo cat /etc/proxy-sinc/git.conf\fR +.SH AUDITORIA E HISTÓRICO +.SS Histórico de Deploy +O script regista cada instalação e atualização manual no repositório Git. Para ver quem e quando instalou ou atualizou o serviço neste servidor: .TP -\fB/etc/proxy-sinc/paths.conf\fR -A lista de ficheiros e pastas a serem versionados. +\fBcat /opt/config_repo/_deployment_logs/$(hostname -f).md\fR +.SS Histórico de Alterações +Para ver o histórico completo de todas as alterações de configuração sincronizadas, use os comandos padrão do git dentro do diretório do repositório: +.TP +\fBcd /opt/config_repo && sudo git log --oneline\fR +.SH ATUALIZAÇÃO +.SS ATUALIZAÇÃO MANUAL +Para forçar uma atualização do serviço e dos seus scripts para a versão mais recente, execute o seguinte comando como root: +.sp +\fBproxy-sinc-update\fR +.sp +Este comando irá baixar e executar a versão mais recente do script de instalação. Ele irá ler as suas credenciais guardadas e pedir apenas a sua identificação de colaborador para o registo de deploy. +.SS ATUALIZAÇÃO AUTOMÁTICA +O sistema inclui um timer (\fIproxy-sinc-update.timer\fR) que executa o comando \fBproxy-sinc-update\fR automaticamente uma vez por semana (toda Segunda-feira às 3 da manhã). +.SH DESINSTALAÇÃO +Para remover completamente o serviço e os seus componentes, execute o script de instalação original com o argumento 'uninstall': +.sp +\fB/caminho/para/Instal-Proxy-Sinc.sh uninstall\fR +.sp +Ele irá parar os serviços, remover todos os ficheiros de sistema e perguntar se deseja apagar o diretório de configuração e o repositório local. +.SH FICHEIROS .TP \fB/usr/local/sbin/commit_configs.sh\fR -O script principal que executa a sincronização. +O script principal que executa a sincronização a cada minuto. .TP \fB/usr/local/sbin/proxy-sinc-update\fR O script que gere a auto-atualização do serviço. +.TP +\fB/etc/systemd/system/proxy-sinc.timer\fR +O timer que define a frequência da SINCRONIZAÇÃO (a cada minuto). +.TP +\fB/etc/systemd/system/proxy-sinc-update.timer\fR +O timer que define a frequência da VERIFICAÇÃO DE ATUALIZAÇÕES (semanal). .SH SEE ALSO .BR git (1), .BR rsync (1),