Skripts (Shell)
Beschreibung
Ein Shellskript oder Shell-Skript ist ein Computerprogramm, das von einer Shell interpretiert und ausgeführt wird. Es ist letztlich eine ausführbare Textdatei, in der all jene Anweisungen verwendet werden können, die ein Benutzer auch in der Befehlszeile nutzen kann.
SSH Terminal Begrüßung
Bei einer erfolgreichen SSH Verbindung wird die Datei "/etc/bash.bashrc" aufgerufen. Dort können beliebige Shellskripte hinzugefügt werden, die jedoch nur beim Aufruf des SSH Terminals ausgeführt werden.
Dieser Shellskript muss nur heruntergeladen werden und auf dem Server gespeichert werden. Anschließend muss am Ende der Datei "/etc/bash.bashrc" der Pfad zu diesem Skript eingefügt werden.
Um die Funktionalität des Skriptes "rb_start.sh" zu testen, kann dieser mit folgendem Befehl ausgeführt werden:
rb_start.sh (Download)
Siehe auch
USB Devices
Mit diesem Skript werden alle USB-Geräte ausgelesen. Er gibt die "VendorId" und "ProductId" (Seriennummer) zurück.
Mit Hilfe einer sog. udev-Regel wird ein Shellskript aufgerufen, wenn der definierte USB-Stick mit dem Raspberry verbunden wird.
Nun kann in diesem Fall die Synchronisation der Playlist (Musik fürs Auto) starten.
rb_usbdevices.sh (Download)
In diesem Beispiel wird der Skript "rb_syncplaylist.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/scripts/rb_syncplaylist.sh"
Im Skript "rb_syncplaylist.sh" wird einfach mit rsync die Playliste synchronisiert, damit nicht immer die gesamte Playlist gelöscht und wieder kopiert werden muss. Bei der neueren Version wird nun Git verwendet, da es auf allen PCs und Server laufen habe.
Der Parameter "ENV{DEVTYPE}=="usb_device"" muss gesetzt werden, ansonsten wird der entsprechende Shellskript mehrmals ausgeführt.
Siehe auch
Cronjobs
Der Cron-Daemon dient der zeitbasierten Ausführung von Prozessen in Unix und unixartigen Betriebssystemen wie Linux. Hier einige Beispiele von Cronjobs, die mit dem Benutzer "root" einen Shellskript ausführen und die Ausgabe in ein Logfile schreiben (stdout & stderr | append).
SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # minütlich alle 3 Minuten */3 * * * * root /data/scripts/cr_syncip.sh >> /data/scripts/logs/syncip.log 2>&1 # minütlich alle 10 Minuten */10 * * * * root /data/scripts/cr_amazonapi.sh >> /data/scripts/logs/amazonapi.log 2>&1 # minütlich alle 30 Minuten */30 * * * * root /data/scripts/cr_browser.sh >> /data/scripts/logs/browser.log 2>&1 # täglich um 01:00 0 1 * * * root /data/scripts/cr_router.sh >> /data/scripts/logs/router.log 2>&1 # täglich um 07:00 0 7 * * * root /data/scripts/cr_router.sh >> /data/scripts/logs/router.log 2>&1 # wöchentlich am sonntag um 00:00 0 0 * * 1 root /data/scripts/cr_backup.sh >> /data/scripts/logs/backup.log 2>&1
Siehe auch
Terminal Befehle
Hier eine kleine Übersicht von verschiedenen Terminal Befehlen die häufig benötigt werden.
System
Eine Auflistung aller Systemprozesse.
Eine Auflistung aller Systemprozesse mit folgendem Benutzer laufen.
Benutzerrechte
Die Zugriffsrechte von Verzeichnisse und Dateien setzen.
Die Zugriffsrechte des Benutzers und der Gruppe von Verzeichnisse und Dateien setzen.
Siehe auch
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.
Netzwerk
Auslesen aller Netzwerkkonfigurationen.
Erreichbarkeit folgender IP-Adresse testen.
Erreichbarkeit einer Webseite testen und kontrollieren ob die DNS-Einstellungen funktionieren.
FTP
Ein Backup kann mit Hilfe von FTP (File Transfer Protocol) auf einem Server hochladen werden.
Achtung: Eine FTP-Verbindung ist nicht verschlüsselt und deshalb sind folgende Punkte die bessere und sichere Variante:
- Das Backup mit einem Passwort verschlüsseln.
- Das Backup mit SFTP (Secure File Transfer Protocol) hochladen.
- Das Backup direkt mit SSH (Secure Shell) hochladen (Public- Private Key).
Siehe auch
cURL (Wettervorhersage)
Mit cURL (Client for URLs oder Curl URL Request Library) ist auch möglich eine textbasierte Wettervorhersage abzurufen.
Das Wetter lässt sich einfach und schnell von jedem Gerät mit Internetanbindung aufrufen. Einzige Voraussetzung ist, dass cURL (oder ein ähnliches Tool) vorhanden sein muss. Bei den meisten Linuxdistributionen ist cURL schon standardmäßig vorinstalliert.