• Teilen
  • Bookmark "Einfache Shell-Skripte" auf del.icio.us
  • Bookmark "Einfache Shell-Skripte" auf Digg
  • Bookmark "Einfache Shell-Skripte" auf Reddit
  • Bookmark "Einfache Shell-Skripte" auf StumbleUpon
  • Bookmark "Einfache Shell-Skripte" auf Facebook
  • Bookmark "Einfache Shell-Skripte" auf Twitter
  • Bookmark "Einfache Shell-Skripte" auf Slashdot

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

Achtung! sudo: In dieser Anleitung verdeutlicht der Befehl sudo, dass die folgende Codezeile mit Root-Rechten ausgeführt werden muss. In normalen Ubuntu Installationen (Root-/VServer siehe Debian) kann dies durch den Befehl sudo erreicht werden.
Bei Debian wird bei der Installation ein Passwort für den Root-Benutzer festgelegt, so kann man sich entweder direkt als Root oder als „normaler“ Benutzer mit Eingabe von su als Root einloggen (Root-Passwort benötigt) → sudo bleibt dann überflüssig!

"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

"Bootchart"-Skript

Dieses Skript verschickt aktuelle Bootcharts, Es muss nur der Empfänger angegeben werden. Zudem kopiert es die aktuelle Bootchart noch in ein bestimmtes Verzeichnis und benennt jene um (zur Nutzung in Webseiten, …).

bootchart.sh
#!/bin/bash
 
#########################config######################
#Empfänger der mail
mail="root@mein.homelinux.com"                                  
#wohin soll die aktuelle bootchart verschoben werden           
path="/home/christoph/shared-docs"                              
#wie soll die verschobene bootchart heißen?                    
filename="bootchart.png"
######################################################
 
bootchart="$(ls /var/log/bootchart/*.png | sort -r | head -1)"                              
mail -s "bootchart report" $mail < $bootchart
cp "$bootchart" "$path/$filename"

LinuxUserCE automatisch herunterladen

Eine Erklärung findet sich hier

luce.sh
#!/bin/bash
#######################config###########################
#Pfad, wo die PDF gespeichert werden soll              #
path="/home/user/pdfs/LinuxUserCE"                     #
########################################################
cd $path
if test -r lu-ce_$(date +"%Y")-$(date +"%m").pdf ; then exit 0
else
wget http://www.linux-user.de/Downloads/LUCE/$(date +"%Y")/lu-ce_$(date +"%Y")-$(date +"%m").pdf
fi

Freies Magazin automatisch herunterladen

Die Kopie des Skriptes für die LinuxUserCE, aber angepasst auf „Freies Magazin“.

freiesmag.sh
#!/bin/bash
#######################config#############################
#pfad, wo die PDF gespeichert werden soll                #
path="/home/user/pdfs/FreiesMagazin"                     #
##########################################################
cd $path
if test -r freiesMagazin-$(date +"%Y")-$(date +"%m").pdf ; then exit 0
else
wget http://www.freiesmagazin.de/ftp/$(date +"%Y")/freiesMagazin-$(date +"%Y")-$(date +"%m").pdf
fi

IP herausbekommen

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 angelegter 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##################################
#wo soll die datei mit den ips liegen? + welchen namen soll sie haben
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=
##########################################
cd $path 
ls $options | mailx -s "$betreff" $empfaenger

chrisge 2011/07/27 21:37

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
CZIYE
 
  • Teilen
  • Bookmark "Einfache Shell-Skripte" auf del.icio.us
  • Bookmark "Einfache Shell-Skripte" auf Digg
  • Bookmark "Einfache Shell-Skripte" auf Reddit
  • Bookmark "Einfache Shell-Skripte" auf StumbleUpon
  • Bookmark "Einfache Shell-Skripte" auf Facebook
  • Bookmark "Einfache Shell-Skripte" auf Twitter
  • Bookmark "Einfache Shell-Skripte" auf Slashdot
Sonstiges
Drucken/exportieren
Archiv

Archivierter Inhalt der alten Seite