Merge branch 'master' of github.com:brunofontes/linuxShortcuts

This commit is contained in:
Bruno F. Fontes 2019-06-14 16:56:51 -03:00
commit 8cbcbebca8
Signed by: brunofontes
GPG Key ID: EE3447CE80048495
4 changed files with 63 additions and 0 deletions

37
Services/fixDNS.sh Executable file
View File

@ -0,0 +1,37 @@
function isDNSWorking() {
dnsWorking=$(dig brunofontes.net | grep "ANSWER: 0")
}
logfile="/var/log/bfontes"
sudo echo "$(date +"%Y-%m-%d %H:%M:%S") - Checking if DNS is working" >> "$logfile"
isDNSWorking
if [ "$dnsWorking" ]; then
sudo echo "$(date +"%Y-%m-%d %H:%M:%S") - DNS not working, hour may be wrong. Trying to fix..." >> "$logfile"
sudo chattr -i /etc/resolv.conf
sudo sed -i 's/127.0.0.2/9.9.9.9/' /etc/resolv.conf 2>>"$logfile"
sudo chattr +i /etc/resolv.conf
sudo echo "$(date +"%Y-%m-%d %H:%M:%S") - Forcing time to sync" >> "$logfile"
sudo chronyc online 2>"$logfile"
sudo chronyc -a 'burst 4/4'
i=0
while [ "$dnsWorking" -a $i -le 4 ]; do
sudo echo "$(date +"%Y-%m-%d %H:%M:%S") - Waiting..." >> "$logfile"
sleep 20
isDNSWorking
i=$(( "$i" + 1 ))
done
if [ -z "$dnsWorking" ]; then
sudo echo "$(date +"%Y-%m-%d %H:%M:%S") - FIXED!" >> "$logfile"
else
sudo echo "$(date +"%Y-%m-%d %H:%M:%S") - Script has failed..." >> "$logfile"
sudo echo "$(date +"%Y-%m-%d %H:%M:%S") - Fixing DNS script has failed. More details on $logfile" >> ~/.log_error
fi
sudo echo "$(date +"%Y-%m-%d %H:%M:%S") - Configuring DNS servers back." >> "$logfile"
sudo chattr -i /etc/resolv.conf
sudo sed -i 's/9.9.9.9/127.0.0.2/' /etc/resolv.conf
sudo chattr +i /etc/resolv.conf
fi
sudo echo "$(date +"%Y-%m-%d %H:%M:%S") - Done" >> "$logfile"

11
Services/testDNS.service Normal file
View File

@ -0,0 +1,11 @@
[Unit]
Description=Test and fix DNS update with wrong time
Wants=network-online.target
After=network-online.target
[Service]
Type=oneshot
ExecStart = /bin/bash /home/bruno/Apps/linuxShortcuts/Services/fixDNS.sh
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,6 @@
[Unit]
Description=Run update DNS root hints montly
[Service]
Type=oneshot
ExecStart = /bin/bash /home/bruno/dns_update_rootHints.sh

View File

@ -0,0 +1,9 @@
[Unit]
Description=Run update DNS root hints montly
[Timer]
OnCalendar=monthly
Persistent=true
[Install]
WantedBy=timers.target