Scripting - Das Praxisbuch für Administratoren und DevOps-Teams

Gebundene Ausgabe
39,90 €
inkl. MwSt. versandkostenfrei!


Produktdetails  
Verlag Rheinwerk Verlag
Auflage 05.07.2023
Seiten 492
Format 18,3 x 3,2 x 24,3 cm
Gewicht 1038 g
ISBN-10 3836294249
ISBN-13 9783836294249
Bestell-Nr 83629424A

Produktbeschreibung  

Die Kunst, Probleme in 10 Zeilen Code zu lösen

Scripting ist die Kunst, Code-Probleme in wenigen Zeilen zu lösen. Denn viele Aufgaben in der IT erfordern keine komplexen Lösungen in einer Hochsprache - oft reichen ein paar Zeilen Python-, Bash- oder PowerShell-Code.

Michael Kofler zeigt Ihnen in diesem Praxisbuch, wie Sie die Macht der Scripting-Umgebungen nutzen. Anhand zahlreicher Praxisbeispiele erfahren Sie, wie Sie Aufgaben automatisieren und wie Ihnen Shell- oder Pythonscripts viel Arbeit abnehmen können. Mit dabei ist ein Überblick über moderne Shell-Werkzeuge und IDEs: Visual Studio Code, Git, SSH und mehr.

Aus dem Inhalt:

  • Bash, ZSH und die Linux-Toolbox
  • PowerShell und CmdLets
  • Python und Pip
  • SSH, VSCode, Git, Curl: Werkzeugenkasten für moderne Scripts
  • Scripts automatisch ausführen: Cron und Task Scheduler
  • Backups automatisieren
  • Bilder verarbeiten
  • Monitoring: Logging-Dateien auswerten
  • Web-Scraping und -Mining
  • Scripting in der AWS-Cloud
  • Automatisierte Builds mit Docker-Containern


Inhalt:


  Vorwort ... 11

TEIL I.  Scripting-Sprachen ... 15

  1.  Scripting: Do one thing ... ... 17


       1.1 ... Was heißt Scripting? ... 17

       1.2 ... Script-Sprachen ... 20

       1.3 ... Die Qual der Wahl ... 24


  2.  Zehn mal zehn Zeilen ... 27


       2.1 ... Markdown-Rechtschreibkorrektur (Bash) ... 27

       2.2 ... Bilder nach Aufnahmedatum sortieren (PowerShell) ... 28

       2.3 ... JSON-Datei in das XML-Format umwandeln (Python) ... 29

       2.4 ... Tägliches Server-Backup (Bash) ... 30

       2.5 ... Web Scraping (Python) ... 31

       2.6 ... Wetterdaten protokollieren (Python) ... 32

       2.7 ... Hyper-V-Aufräumaktion (PowerShell) ... 33

       2.8 ... Statistische Auswertung einer Logging-Datei (Bash) ... 34

       2.9 ... Datei-Upload in die Cloud (PowerShell) ... 35

       2.10 ... Virtuelle Maschinen klonen (Bash) ... 35


  3.  Bash und Zsh ... 37


       3.1 ... Terminal, Shell und Bash ... 37

       3.2 ... Installation ... 38

       3.3 ... Kommandos interaktiv ausführen ... 42

       3.4 ... Zsh als Bash-Alternative ... 45

       3.5 ... Das erste Bash-Script ... 47

       3.6 ... Kommandos ausführen ... 53

       3.7 ... Standardeingabe und Standardausgabe ... 56

       3.8 ... Globbing, Brace Extension, Umgang mit Datei- und Verzeichnisnamen ... 59

       3.9 ... Variablen ... 63

       3.10 ... Zeichenketten ... 69

       3.11 ... Verzweigungen ... 77

       3.12 ... Schleifen ... 83

       3.13 ... Funktionen ... 87

       3.14 ... Umgang mit Fehlern ... 88


  4.  PowerShell ... 91


       4.1 ... Installation ... 91

       4.2 ... Das Windows-Terminal ... 96

       4.3 ... Aufruf von CmdLets und Funktionen ... 98

       4.4 ... Kommandos kombinieren ... 105

       4.5 ... Das erste Script ... 108

       4.6 ... Variablen, Zeichenketten und Objekte ... 114

       4.7 ... Arrays und Hashtables ... 125

       4.8 ... Ausgabeumleitung ... 128

       4.9 ... Schleifen ... 132

       4.10 ... Verzweigungen ... 135

       4.11 ... Funktionen und Parameter ... 137

       4.12 ... Module ... 142

       4.13 ... Fehlerabsicherung ... 145


  5.  Python ... 149


       5.1 ... Python installieren ... 150

       5.2 ... Python in einem Terminalfenster kennenlernen ... 152

       5.3 ... Eigene Scripts programmieren ... 153

       5.4 ... Elementare Syntaxregeln ... 155

       5.5 ... Zahlen ... 157

       5.6 ... Zeichenketten ... 159

       5.7 ... Listen ... 166

       5.8 ... Tupel, Sets und Dictionaries ... 169

       5.9 ... Variablen ... 172

       5.10 ... Operatoren ... 176

       5.11 ... Verzweigungen (if) ... 178

       5.12 ... Schleifen (for und while) ... 180

       5.13 ... Funktionen ... 186

       5.14 ... Textdateien verarbeiten ... 190

       5.15 ... Fehlerabsicherung ... 193

       5.16 ... Systemfunktionen ... 194

       5.17 ... Module ... 197

       5.18 ... Zusatzmodule installieren mit 'pip' ... 199


TEIL II.  Arbeitstechniken und Werkzeuge ... 205

  6.  Linux-Toolbox ... 207


       6.1 ... Verzeichnisse und Dateien ... 208

       6.2 ... Dateien suchen ... 209

       6.3 ... Dateien komprimieren und archivieren ... 211

       6.4 ... Arbeiten mit root-Rechten ... 213

       6.5 ... Prozesse verwalten ... 215

       6.6 ... Software-Installation ... 219

       6.7 ... Sonstige Kommandos ... 220


  7.  CmdLets für die PowerShell ... 223


       7.1 ... Verzeichnisse und Dateien ... 223

       7.2 ... Dateien suchen ... 227

       7.3 ... Dateien komprimieren und archivieren ... 231

       7.4 ... Prozessverwaltung ... 232

       7.5 ... Registrierdatenbank und Systeminformationen ... 236

       7.6 ... CmdLet-Ergebnisse verarbeiten ... 239

       7.7 ... Sonstige CmdLets ... 244

       7.8 ... Zusatzmodule installieren ... 244

       7.9 ... Standard-Aliasse ... 247


  8.  Textauswertung mit Filtern und Pipes ... 249


       8.1 ... grep, sort, cut und uniq ... 250

       8.2 ... Beispiel: Automatische Coronazahlenauswertung ... 257

       8.3 ... Beispiel: ping-Auswertung ... 259

       8.4 ... Beispiel: Apache-Log-Analyse ... 260

       8.5 ... CSV-Dateien ... 264


  9.  Reguläre Muster ... 269


       9.1 ... Syntaxregeln für reguläre Ausdrücke ... 270

       9.2 ... Gruppen und Alternativen ... 272

       9.3 ... Reguläre Muster in der Bash (grep, sed) ... 278

       9.4 ... Reguläre Muster in der PowerShell ... 283

       9.5 ... Reguläre Muster in Python (re-Modul) ... 287


10.  JSON, XML und INI ... 291


       10.1 ... JSON in der PowerShell ... 291

       10.2 ... JSON und Python ... 295

       10.3 ... JSON in der Bash ... 299

       10.4 ... XML in der PowerShell ... 302

       10.5 ... XML und Python ... 306

       10.6 ... XML in der Bash ... 310

       10.7 ... INI-Dateien ... 312


11.  Scripts automatisch ausführen ... 315


       11.1 ... Cron ... 315

       11.2 ... Beispiel: Webserver-Monitoring ... 319

       11.3 ... Windows Task Scheduler ... 321

       11.4 ... Beispiel: Währungskurse speichern ... 326

       11.5 ... Änderungen im Dateisystem verfolgen ... 327


12.  SSH ... 331


       12.1 ... SSH-Client und -Server installieren ... 332

       12.2 ... Mit SSH arbeiten ... 335

       12.3 ... scp und rsync ... 340

       12.4 ... SSH-Authentifizierung mit Schlüsseln ... 342

       12.5 ... Beispiel: Bilder-Upload auf einen Linux-Webserver ... 345

       12.6 ... Beispiel: Auswertung virtueller Maschinen ... 348


13.  Visual Studio Code ... 351


       13.1 ... Einführung ... 351

       13.2 ... Sprachspezifische VSCode-Erweiterungen ... 353

       13.3 ... Remote-SSH-Erweiterung ... 355


14.  Git ... 359


       14.1 ... Git-Crashkurs ... 360

       14.2 ... Der richtige Umgang mit Einstellungen und Passwörtern ... 368

       14.3 ... Git-Automatisierung ... 371

       14.4 ... Git Hooks ... 374


TEIL III.  Anwendungen und Beispiele ... 377

15.  Backups ... 379


       15.1 ... Verzeichnisse auf externen Datenträger synchronisieren ... 379

       15.2 ... WordPress-Backup ... 384

       15.3 ... SQL-Server-Backup ... 387


16.  Bildverarbeitung ... 389


       16.1 ... Bilddateien manipulieren ... 389

       16.2 ... Fotos nach Aufnahmedatum sortieren ... 394

       16.3 ... EXIF-Metadaten in SQL-Kommandos umwandeln ... 397


17.  Web Scraping ... 403


       17.1 ... Websites mit wget herunterladen ... 405

       17.2 ... Web Scraping mit regulären Mustern ... 408

       17.3 ... Web Scraping mit Beautiful Soup ... 409

       17.4 ... Web Scraping mit Requests-HTML ... 414

       17.5 ... Web Scraping mit der PowerShell ... 417


18.  REST-APIs nutzen ... 419


       18.1 ... curl und wget ... 420

       18.2 ... REST-APIs in der PowerShell nutzen ... 425

       18.3 ... Beispiel: Aktuelles Wetter ermitteln ... 428

       18.4 ... REST-APIs in Python nutzen ... 429

       18.5 ... Beispiel: Strompreise ermitteln und grafisch darstellen ... 430


19.  Datenbanken ... 435


       19.1 ... Datenbanken aktualisieren und warten ... 436

       19.2 ... Neuen Kunden-Account einrichten ... 437

       19.3 ... EXIF-Metadaten in einer Datenbank speichern ... 440

       19.4 ... JSON-Daten in eine Tabelle importieren ... 444


20.  Scripting in der Cloud ... 447


       20.1 ... AWS CLI ... 447

       20.2 ... Beispiel: Verschlüsselte Backup-Dateien in die Cloud hochladen ... 452

       20.3 ... AWS-PowerShell-Modul ... 454

       20.4 ... Beispiel: GroT1ss e Dateien einer Webseite in die Cloud auslagern ... 457


21.  Virtuelle Maschinen ... 461


       21.1 ... Virtuelle Maschinen einrichten und ausführen (KVM) ... 461

       21.2 ... Netzwerkkonfiguration automatisieren (KVM) ... 464

       21.3 ... Hyper-V steuern ... 467


22.  Docker und Scripting ... 473


       22.1 ... Beispiel: EXIF-Sorter als Docker-Image ... 474

       22.2 ... Beispiel: Markdown/Pandoc-Umgebung ... 477


  Index ... 485

Autorenporträt  
Mehr Angebote zum Thema