From e6e8307afb819ea4f6d5ff31ea3cf3cfb916f8e2 Mon Sep 17 00:00:00 2001 From: Tiago dos Santos Date: Wed, 17 Dec 2025 08:29:09 -0300 Subject: [PATCH] first commit --- README.md | 78 +++++++++++++++++++++++++++++++++++++++++++ fedora_auto_update.sh | 22 ++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 README.md create mode 100644 fedora_auto_update.sh diff --git a/README.md b/README.md new file mode 100644 index 0000000..cc5cfb8 --- /dev/null +++ b/README.md @@ -0,0 +1,78 @@ +# Auto Update (systemd) + +Script e serviço `systemd` para atualizar automaticamente o sistema e reiniciar quando necessário. + +## Instalação + +1. Salve o script: + + ```bash + sudo nano /usr/local/bin/auto-update.sh + ``` + + Cole o conteúdo do script e salve (`Ctrl+O`, `Enter`, `Ctrl+X`). + +2. Dê permissão de execução: + + ```bash + sudo chmod +x /usr/local/bin/auto-update.sh + ``` + +3. Crie o serviço `systemd`: + + ```bash + sudo nano /etc/systemd/system/auto-update.service + ``` + + Cole este conteúdo: + + ```ini + [Unit] + Description=Atualização automática do sistema + After=network-online.target + Wants=network-online.target + + [Service] + Type=oneshot + ExecStart=/usr/local/bin/auto-update.sh + StandardOutput=journal + StandardError=journal + + [Install] + WantedBy=multi-user.target + ``` + +4. Ative o serviço: + + ```bash + sudo systemctl daemon-reload + sudo systemctl enable auto-update.service + ``` + +5. Instale o pacote necessário (se não tiver): + + ```bash + sudo dnf install dnf-utils -y + ``` + +## O que o script faz + +- Atualiza todos os pacotes automaticamente +- Verifica se precisa reiniciar +- Aguarda 30 segundos antes de reiniciar (tempo para cancelar se necessário) +- Registra tudo em `/var/log/auto-update.log` + +## Teste e logs + +Para testar sem esperar o boot: + +```bash +sudo systemctl start auto-update.service +``` + +Para ver os logs: + +```bash +sudo journalctl -u auto-update.service -f +``` + diff --git a/fedora_auto_update.sh b/fedora_auto_update.sh new file mode 100644 index 0000000..46e8361 --- /dev/null +++ b/fedora_auto_update.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# Script de atualização automática do Fedora +# Executa no boot e reinicia se necessário + +LOG_FILE="/var/log/auto-update.log" + +echo "=== Atualização automática iniciada em $(date) ===" >> "$LOG_FILE" + +# Atualiza o sistema +dnf upgrade -y >> "$LOG_FILE" 2>&1 + +# Verifica se há necessidade de reiniciar +if [ -f /var/run/reboot-required ] || needs-restarting -r >> "$LOG_FILE" 2>&1; then + echo "Reinicialização necessária. Reiniciando em 30 segundos..." >> "$LOG_FILE" + sleep 30 + reboot +else + echo "Atualização concluída. Reinicialização não necessária." >> "$LOG_FILE" +fi + +echo "=== Atualização finalizada em $(date) ===" >> "$LOG_FILE" \ No newline at end of file