Benutzer-Werkzeuge

Webseiten-Werkzeuge


network:shell_scripting

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
network:shell_scripting [18.09.2014 21:14] richardnetwork:shell_scripting [07.09.2017 19:17] – Externe Bearbeitung 127.0.0.1
Zeile 70: Zeile 70:
 # Default-Route setzen (Standard-Gateway 10.0.0.1) # Default-Route setzen (Standard-Gateway 10.0.0.1)
 sudo ip route add default via 10.0.0.1 sudo ip route add default via 10.0.0.1
 +</file>
 +
 +==== Beispiel: Automatische Synchonisieren von Dateien mit Luckybackup ====
 +
 +Mit dem folgenden Script lässt sich die Synchronisation unter Linux automatisieren. Voraussetzung dafür ist das automatische Einbinden von USB-Laufwerken.
 +Ein paar Anpassung sind nötig:
 +  - Pfad zum USB-Stick anpassen (hier ''/media/USERNAME/USB_STICK_NAME''
 +  - mit Befehl ''touch  /media/USERNAME/USB_STICK_NAME/stick.ready'' Testdatei auf dem USB-Stick erzeugen
 +  - Profil-Name von Luckyback eintragen (Default ist: default)
 +
 +Wie funktioniert das Ganze? 
 +
 +Das Script prüft, ob die Datei ''/media/USERNAME/USB_STICK_NAME/stick.ready'' (natürlich auf den richtigen Stick) existiert. Sollte sie nicht existieren, dann legt
 +sich das Script für 1 Sek schlafen. Wenn die Datei da ist, also der Stick vom System automatisch eingebunden wurde, dann wird Luckybackup mit dem Default-Profile ausgeführt.
 +Hier können auch andere Profile ausgewählt werden. Dazu muss ''default'' durch den entsprechenden Profilnamen ersetzt werden.
 +
 +<file bash luckybackup.sh>
 +#!/bin/bash
 +# 1. Pfad zum USB-Stick anpassen (hier /media/USERNAME/USB_STICK_NAME
 +# 2. mit 'touch  /media/USERNAME/USB_STICK_NAME/stick.ready'  Testdatei auf dem USB-Stick erzeugen
 +# 3. Profil-Name von Luckyback eintragen (Default ist: default)
 +x=0
 +while [ "$x" -lt 100 -a ! -e /media/USERNAME/USB_STICK_NAME/stick.ready ]; do
 +         x=$((x+1))
 +         sleep .1
 +         echo "Laufwerk fehlt"
 + done
 + echo "Profile -default- wird synchronisiert!"
 + luckybackup --silent default
 +</file>
 +
 +===== Python =====
 +
 +Eine weitere sehr mächtige Variante Prozesse zu automatisieren, liegt in der Verwendung eine Script-Sprache wie ''python'' oder ''perl''.
 +
 +<file python python_sample.py>
 +#!/usr/bin/python
 +# coding: utf8
 +
 +# Import für Call https://docs.python.org/2/library/subprocess.html
 +from subprocess import call
 +
 +# Import für os.system https://docs.python.org/2/library/os.html
 +import os
 +
 +call(["ls", "-l"])
 +
 +os.system("ps aux | grep -i apache > output_file")
 +
 +
 +# User anlegen
 +def createUser(name,username,password):
 +    encPass = crypt.crypt(password,"22"  
 +    return  os.system("useradd -p "+encPass+ " -s "+ "/bin/bash "+ "-d "+ "/home/" + username+ " -m "+ " -c \""+ name+"\" " + username)
 +
 +testVar = raw_input("Ask user for something.")
 +print (testVar)
 </file> </file>
network/shell_scripting.txt · Zuletzt geändert: 30.04.2023 15:57 von richard

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki