Seite 1 von 1

Python, Perl oder doch Bash ??

Verfasst: Montag 26. November 2018, 18:52
von ascotlxn
Hallo zusammen,
ich bin mir gar nicht sicher, ob ich mit der Wahl Python zu lernen tatsächlich richtig liege.
Seit Jahren schreibe ich Skript in (fast) jeder Shell für unterschiedlichste Zwecke. Nun war meine Idee es mal mit Python zu versuchen .. und stehe vor der Frage "war das sinnvoll?"

Ich schreiben Skripte hauptsächlich für System administrative Zwecke. Datensicherung, Anzeige /Auswertung für Logfiles, etc. Nur alles was ich bisher zu Python finde, behandelt eben diesen Part nicht.
Lag ich falsch mit meiner Entscheidung (nicht falsch verstehen, ich find Python schon nicht schlecht), aber ich finde kaum was zu dem genannten Thema.

Wäre nett, wenn ihr mir eine kurze Rückmeldung gegeben könntet, ob solche Systemaufgaben sich auch mit Python erledigen lassen, oder ob es dafür eigentlich nicht gedacht war.

Besten Dank
ascotlxn

Re: Python, Perl oder doch Bash ??

Verfasst: Montag 26. November 2018, 19:07
von __deets__
Wir machen unser gesamtes Ops-Tooling mit Python. Die starken Datentypen von Python, die deutlich einfacher und konsistenter zu benutzen sind als die teilweise haarstraeubenden Verrenkungen, die man in Bash mit arrays und Co machen muss, sind es fuer mich alle mal wert.

Perl kann das generell denke ich auch, aber der Sprache habe ich mich bis dato verweigert, und kann darum nichts dazu sagen.

Re: Python, Perl oder doch Bash ??

Verfasst: Montag 26. November 2018, 19:31
von Sirius3
Pythons Stärken liegen u.A. in der Stringverarbeitung, die man ja für Auswertung von Log-File brauchen kann. Vielleicht versuchst Du Dich an einem konkreten Projekt und stellst hier Fragen wenn Du nicht weiterkommst.

Re: Python, Perl oder doch Bash ??

Verfasst: Montag 26. November 2018, 21:27
von sls
Ich nutze Bash hauptsächlich, um Backups zu erstellen oder einfache administrative Arbeiten unter Linux-Servern durchzuführen (z.B. "finde alle Dateien die größer sind als 5 MB, komprimiere diese und erstelle ein TAR, schiebe es anschließend nach /xy") oder für automatisierte Build-Routinen (Python-Paket erstellen, via curl an ein zentralen Store-Server uploaden mit Purge-Timestamp) uvm.

Wenn es darum geht, Logfiles auszuwerten, nutze ich Python, da ich mit Sed und Awk überhaupt nicht fit bin und ich komplexere Auswertungen mit Python deutlich einfacher, eleganter und schneller umsetzen kann. Python ist IMO nie eine verkehrte Wahl und DIE Sprache, wenn es um Linux-Server-Verwaltung geht. Perl kennen bei uns nur noch die ganzen Alten :-)

Re: Python, Perl oder doch Bash ??

Verfasst: Mittwoch 28. November 2018, 13:51
von ascotlxn
Vielen Dank für die hilfreichen Antworten.
Ich werde mich mal an das Thema wagen und mir ein Skript vornehmen und versuchen es auf Python zu Portieren.
Auf jeden Fall werde ich mich melden, sollte ich Gefahr laufen mir die Stirn an Wand zu zertrümmern ;)
Bis dann

Re: Python, Perl oder doch Bash ??

Verfasst: Mittwoch 28. November 2018, 13:52
von ascotlxn
ach so .. hat jemand eine Literatur Empfehlung für mich ?? Oder reicht es im Forum und im Internet nach Ansätzen zu suchen ?

Re: Python, Perl oder doch Bash ??

Verfasst: Mittwoch 28. November 2018, 14:59
von sls
Je nach Kenntnissstand das offizielle Python-Tutorial und bei Fragen wenn's brennt hier im Forum. Bitte PEP-8 verinnerlichen.

Was man sich in deinem speziellen Fall noch reinziehen könnte wäre Al Sweigart's "Automate the boring stuff" wo typische Routine-Aufgaben, auch im administrativen Bereich, thematisiert werden.

Re: Python, Perl oder doch Bash ??

Verfasst: Mittwoch 28. November 2018, 15:00
von snafu

Re: Python, Perl oder doch Bash ??

Verfasst: Mittwoch 28. November 2018, 18:52
von nezzcarth
Vielleicht ist folgender Text ja von Interesse: https://github.com/ninjaaron/replacing- ... ith-python

Ansonsten wäre meine Empfehlung noch zu versuchen, sich auf Python einzulassen und keine Shell-Skripte in Python-Syntax zu schreiben.

Re: Python, Perl oder doch Bash ??

Verfasst: Montag 3. Dezember 2018, 09:48
von ascotlxn
.. super, danke. Da habe ich ja was zu lesen :)