first commit

This commit is contained in:
2025-12-17 08:29:09 -03:00
commit e6e8307afb
2 changed files with 100 additions and 0 deletions

78
README.md Normal file
View File

@@ -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
```

22
fedora_auto_update.sh Normal file
View File

@@ -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"