Scripts (Shell)

Aus TechnikWiki
Wechseln zu: Navigation, Suche

SSH Terminal Begrüßung

Screenshot


Scripts Shell01.jpg

Beschreibung

Damit die SSH Terminal Begrüßung erscheint bzw. wenn ein Shell-Script beim Login aufgerufen werden soll, muss einfach am Ende in der Datei /etc/bash.bashrc folgender Eintrag ergänzt werden:


Somit wird der angegebene Shell-Script /data/homeserver/scripts/Ssh.sh aufgerufen. Ein Vorteil bei diesem Script ist, dass man immer die CPU Temperatur vom Raspberry (Ubuntu) unter Kontrolle hat.

Script

#!/bin/bash

sDate=$(date +'%d.%m.%Y %H:%M:%S')
sLinuxVersion=$(lsb_release -sd)
dCpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)
dCpuTemp1=$(($dCpuTemp0/1000))
dCpuTemp2=$(($dCpuTemp0/100))
dCpuTempM=$(($dCpuTemp2 % $dCpuTemp1))

echo -e ""
echo -e "################################################################################"
echo -e "##    _______           _             _  _   __          __ _  _     _        ##"
echo -e "##   |__   __|         | |           (_)| |  \ \        / /(_)| |   (_)       ##"
echo -e "##      | |  ___   ___ | |__   _ __   _ | | __\ \  /\  / /  _ | | __ _        ##"
echo -e "##      | | / _ \ / __|| '_ \ | '_ \ | || |/ / \ \/  \/ /  | || |/ /| |       ##"
echo -e "##      | ||  __/| (__ | | | || | | || ||   <   \  /\  /   | ||   < | |       ##"
echo -e "##      |_| \___| \___||_| |_||_| |_||_||_|\_\   \/  \/    |_||_|\_\|_|       ##"
echo -e "##                                                                            ##"
echo -e "############################# \e[33m$sDate\e[39m ##############################"
echo -e "##                                                                            ##"
echo -e "##                       HomeServer v1.0.0 (01.11.2016)                       ##"
echo -e "##                                                                            ##"
echo -e "## $sLinuxVersion                                                         ##"
echo -e "## Raspberry Pi 3 Model B                                                     ##"
echo -e "## CPU-Temp: \e[32m$dCpuTemp1.$dCpuTempM ºC\e[39m                                                          ##"
echo -e "##                                                                            ##"
echo -e "##            /etc/bash.bashrc -> /data/homeserver/scripts/Ssh.sh             ##"
echo -e "##                                                                            ##"
echo -e "############################ \e[33m© www.technikwiki.org\e[39m #############################"
echo -e ""

Download

SSH USB Devices

Screenshot


Scripts Shell03.jpg

Beschreibung

Hier ein Script, womit alle USB-Geräte bzw. USB-Datenträger ausgelesen werden können. Dieser Script gibt die VendorId und ProductId von einem oder mehreren USB-Datenträgern zurück. Somit kann mit Hilfe einer sog. udev Regel ein Shell-Script aufgerufen werden, wenn z.B. der USB-Stick mit dem Raspberry verbunden wird. Somit kann man z.B. automatisch eine Playlist (PC - USB-Stick) synchronisieren.

In diesem Beispiel wird der Shell-Script UsbStick.sh nur aufgerufen, wenn der USB-Datenträger mit der VendorId:0951 und ProductId:1624 verbunden wird.


ACTION=="add",ATTRS{idVendor}=="0951",ATTRS{idProduct}=="1624",ENV{DEVTYPE}=="usb_device",RUN+="/data/homeserver/scripts/SyncPlaylist.sh"

Im Shell-Script SyncPlaylist.sh wird einfach mit rsync die Playliste synchronisiert, damit nicht immer die gesamte Playlist gelöscht und wieder kopiert werden muss.

Achtung:

Der Parameter ENV{DEVTYPE}=="usb_device" muss gesetzt werden, ansonsten wird der Shell-Script mehrmals ausgeführt.

Script

#!/bin/bash
for X in /sys/bus/usb/devices/*; do
  if [ -f $X/idVendor ] && [ -f $X/idProduct ]; then
    idVendor=$(cat $X/idVendor)
    idProduct=$(cat $X/idProduct)
    echo "################################################################################"
    echo "##"
    echo "## UsbDevice: $X"
    echo "## VendorId : $idVendor"
    echo "## ProductId: $idProduct"
    echo "##"
    echo "############################ © www.technikwiki.org #############################"
    echo ""
  fi
done

Download

SSH Befehle

Hier eine kleine Übersicht von SSH Befehlen die häufig verwendet werden.

System

Eine Auflistung aller Prozesse die auf dem System laufen.


Eine Auflistung aller Prozesse die auf dem System mit folgenden Benutzer laufen.


Netzwerk

Auslesen aller Netzwerkkonfigurationen.


Erreichbarkeit folgender IP-Adresse testen.


Dateisystem

Eine Auflistung der Verzeichnis- und Dateistruktur.


Die Größe des Verzeichnisses in MB ermitteln.


Ein Verzeichnis mit "tar.gz" komprimieren.


Ein Verzeichnis mit "tar.gz" dekomprimieren.


Ein Verzeichnis mit "rsync" synchronisieren.


Benutzerrechte

Mit "chmod" verändert man die Zugriffsrechte von Verzeichnisse und Dateien.


Mit "chown" verändert man die Eigentümer-Gruppen von Verzeichnisse und Dateien.


FTP

Ein Backup mit Hilfe von FTP (File Transfer Protocol) auf einem Server hochladen.
Achtung: Eine FTP-Verbindung ist nicht verschlüsselt!

  • Das Backup mit einem Passwort versehen.
  • Das Backup mit SFTP (Secure File Transfer Protocol) hochladen.

Terminal

Eine textbasierte Wettervorhersage von Bruneck in Südtirol (Italien).


Scripts Shell04.jpg

Screenshots

Siehe auch

Informationen

Autor

Artikeldatum

  • Januar 2017

Ort

Kommentare

Fehler:
Die Felder "Name" und "Kommentar" müssen ausgefüllt werden und bitte bestätige, dass du kein Roboter (siehe Hilfe: Captcha) bist.
Information:
Der Kommentar wurde erfolgreich abgesendet und wird demnächst freigeschaltet.
Name:
Webseite:
Kommentar: