first commit
This commit is contained in:
78
README.md
Normal file
78
README.md
Normal 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
22
fedora_auto_update.sh
Normal 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"
|
||||
Reference in New Issue
Block a user