Inhaltsverzeichnis
Einfache Shell-Skripte
Die hier gesammelten Skripte dienen hauptsächlich Lehrzwecken, die auf den Umgang mit der Bash hinweisen sollen. Diese Skripte sind sehr einfach gehalten und so oft Einzeiler, also optimal für Einsteiger.
→Wie mit diesen Skripten umgegangen werden muss wird hier erklärt.
Softwarevoraussetzungen: Mailserver (bei einigen) | Texteditor
Schwierigkeitsgrad: Einfach
Ausgetestet mit folgenden Betriebssystemen: Ubuntu | Debian | teilweise auch andere Distributionen
"Free" Skript
Dieses Skript schickt den Stand des Arbeitsspeichers an einen beliebigen Empfänger.
- free.sh
#!/bin/bash ## # Config # Empfänger angeben (Beispiel: root@localhost, ich@web.de,...) root="ich@localhost" # Betreff angeben (Beispiel: (free, my ram, free report,...) betreff="free system report" ## free | mailx -s "$betreff" $root
Öffentliche IP-Adresse ermitteln
Dieses Skript zeigt die Aktuelle IP. Skript entnommen von ubuntuusers.de.
- ip.sh
#!/bin/bash wget http://whatismyip.org/ -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'
IP täglich in Datei schreiben
Dieses Skript schreibt täglich in eine beliebige Datei die aktuelle IP mit Datum, so erhält man eine Übersicht in welchem IP-Range man sich bewegt.
# Ausschnitt aus einer durch das Skript angelegten Datei 21-05-10 21:50 87.178.200.111 22-05-10 21:50 87.178.200.112 (...)
Die Pfade pathtemp
(Pfad zu dem Ordner, in dem temporäre Dateien für den Verlauf des Skriptes gespeichert und wieder gelöscht werden → bitte einen extra Ordner in dem /home des ausführenden Benutzers ablegen) und für ausgabeip
(Pfad zu der Datei, in der die IPs protokolliert werden sollen) müssen noch angepasst werden.
Das Skript sollte täglich in Cron ausgeführt werden.
- iplog.sh
#!/bin/bash ## # Config # Pfad zur Datei mit den IPs? ausgabeip="/home/christoph/shared-docs/ips.txt" ## echo "$(date +"%d"-"%m"-"%y"' '"%R") $(wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//')" >> $ausgabeip
Dateiliste per Mail
Sendet den Inhalt eines Ordners an einen beliebigen Empfänger.
- lsmail.sh
#!/bin/bash ## # Config # was soll gelistet werden? path=/home/user # betreff der Mail betreff="dateiliste" # an wen wird die Liste geschickt? empfaenger=mich@web.de # Optionen für ls (z.b.: -l für erweiterte ausgabe) options= ## ls $options $path | mailx -s "$betreff" $empfaenger
— chrisge 2018/05/26 01:14