Statt Bash aktualisiert nun Python mein Linux-System

Statt Bash aktualisiert nun Python mein Linux-System

Ich bin derzeit mit Schreiben hier einwenig im Hintertreffen. Das liegt nicht daran, dass ich keine Lust hätte, aber ich mache noch so viel anderes.

Mit dem Programmieren habe ich wieder angefangen. Nachdem ich es lange vernachlässigt hatte, hat es jetzt irgendwie klick gemacht und ich habe ein großes Interesse. Das ist wie mit Datenbanken, die mich auch einst nicht so interessierten, dann einen Durchbruch erlangten und nun bin ich bei Python. Vielleicht wegen dem ChatTool ChatGPT.

Ich habe mein Aktualisierungsscript welches ich nur für die Bash für meinen Rechner geschrieben habe, nun in Python fast quasi umgeleitet. So im Prinzip ist es recht ordentlich und man es kann auch gut verwenden, aber dennoch habe ich noch den Eindruckt, dass ich es vereinfachen könnte. Aber mit mehr Interesse an Python werde ich auch Wege finde, etwas zu vereinfachen.

Die derzeitige Fassung sieht so aus:

import subprocess
import urllib.request
import os
import time
import datetime

x = datetime.datetime.now()
xend = datetime.datetime(2045,7,1)

time_diff = xend - x
delta = time_diff.days

print(x.strftime("Heute ist %A %d %B %Y"))
print("Es sind noch", delta, "bis zum voraussichtlichen Renteneintritt.")



print("Die Internetverbindung wird überprüft, ob sie vorhanden ist")

def connect():
	try:
		urllib.request.urlopen('http://google.com')
		return True
	except:
		return False

print('Mit dem Internet verbunden' if connect() else 'Keine Verbindung vorhanden')

time.sleep(3)

print("Betriebssystem wird mit dnf update --refresh auf dem aktuellen Stand gehalten")
print(  )
def update_system():
	subprocess.run(["dnf","update","--refresh"])
if __name__ == "__main__":
	update_system()

print("Die Datenbank von locate wird aktualisiert")

time.sleep(2)


os.system('updatedb')

time.sleep(2)

print("Datenbanken MongoDB / MySQL und Logdateien Backup")

os.system("mysqldump -u sven -p --all-databases > daten.sql")
os.system("mongodump")
os.system("chmod ugo+rw /home/sven/*")
os.system("cp -uv /var/log/dnf.log /home/sven/Dokumente ")
os.system("cp -uv /var/log/boot.log /home/sven/Dokumente ")
os.system("cp -uv /var/log/mysqld.log /home/sven/Dokumente ")
os.system("cp -uv /var/log/mongodb/*.log /home/sven/Dokumente ")
os.system("df -h > speicher.txt")
os.system("mv -uv /home/sven/speicher.txt /home/sven/Dokumente ")
os.system("chmod ugo+rw /home/sven/Dokumente/*")
os.system("last reboot | head -n 12 > /home/sven/Dokumente/last_logs.txt")

time.sleep(2)

while True:
	question = input("Möchtest du deinen PC neu starten. Ja oder Nein ")
	if question.isdigit():
		print("Bitte mit Ja oder Nein antworten. Bitte keine Zahl eingeben")
	elif question == ("Ja"):
		#print("Das System wird in 2 Minuten neu gestartet - alles abspeichern")
		z = os.system("shutdown -r now")
		print(z)
	else:
		print("Fertig, Weiterarbeiten")
		break

So einbißchen stolz bin ich auf die While-Schleife am Ende.

Im Gegensatz zum alten Bash-Script mache ich von meinen MongoDB und MySQL-Datenbanken auch ein Backup, welches aber immer wieder überschrieben wird. Nein, ich brauche keine 20 Backups. Ich bin keine Firma, die einen Backupstand von vor 10 Tagen brauche. Mir genügt es zu Hause, dass überhaupt ein Backup gemacht wird. Die Datenbanken, die ich pflege werden laufend erweitert. Also ich lösche nichts heraus oder verändere Daten.

Ja ich brauche für dnf update –refresh Root-Rechte, aber ich mache es hier mit sudo. Also

sudo python3 aktu2.py

Einziger Nachteil ist, ist für die Datensicherung von der MySQL-Datenbank wird eine Passworteingabe verlangt. Daher stoppt das Script an dieser Stelle.

Bevor ich das hier im Hauptscript verwende, erstelle ich mir für jeweiligen Bereich einzelne Scripte, die ich dort erst einmal teste. Wenn das funktioniert, kopiere ich mir das hier in das Hauptscript.

Kommentare sind geschlossen.