Scriptsammlung

Ich habe hier ein paar Scripte, die ich immer wieder mal benötige, aufgelistet.

Filecount

Dieses Script zählt alle Dateien in einem Verzeichnis:

#!/bin/bash
find $1 -type f | wc -l

Ordnersize

Dieses Script gibt die Verzeichnis/Ordnergröße aus:

#!/bin/bash
du -sh $1

Diskspace

Dieses Script listet den freien bzw. belegten Speicherplatz auf allen eingehängten Partitionen auf:

#!/bin/bash
df -h

LL

Durch dieses Script spart man sich die Parameter, die bei jedem Aufruf mitgegeben werden müssen.
Dieser Befehl ist Standard bei Ubuntu.

#!/bin/bash
ls $LS_OPTIONS -lah

Alternativ kann man den Befehl auch in die ~/bashrc eintragen.
Mehr dazu weiter unten.

Update

Zum Updaten des Systems und anschließendem Löschen des lokalem Paketrepository.

#!/bin/bash
apt-get update && apt-get upgrade

Python Passwortgenerator

Dieses Script generiert ein 21 Zeichen langes Passwort:

#!/usr/bin/env python
#python passwordgenerator
#“size“ defines the password length

import string
from random import choice

size = 21

passwort=“.join([choice(string.letters + string.digits) for i in range(size)])
print passwort

SSH Verbindung

Dieses Script mag auf den ersten Blick sinnlos erscheinen, aber wenn man sich sehr oft zu einem Server verbinden muss, dann ist es leichter ein Script auf zu rufen als jedes Mal wieder den gleichen Befehl ein zu tippen:

#!/bin/bash
ssh -2 -p PORT IP-ADRESSE

Delete dangling symlink

Mit folgendem Befehl kann man sämtliche symlinks (ln -s), die ins Leere zeigen, löschen.

find / -type l -xtype l -delete

APT import GPG key

apt-key adv –keyserver keyserver.ubuntu.com –recv <key>

Rsync over SSH

rsync -avze ’ssh -p 22′ root@IP:SOURCE DESTINATION –delete

–delete bewirkt, dass in beiden Verzeichnissen die gleiche Anzahl an Dateien und Ordnern vorhanden ist. Dateien und Ordner im Zielordner werden gelöscht.

Bashrc

Die Befehle von den Scripten können auch in die ~/.bashrc eingetragen werden:

alias ordnersize=’du -sh‘
alias diskspace=’df -h‘
alias ll=’ls $LS_OPTIONS -lah‘
alias battery=’upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E „state|to\ full|percentage“‚

Mit dem Filecount Script funktioniert das leider nicht, da der „find“ Befehl anders aufgebaut ist.

VMWare Tools Kernel Header

Beim Installieren der VMWare Tools kann es vorkommen, dass das Installationsscript die Linux Kernel Header nicht automatisch findet. Um dieses Problem zu lösen muss zuerst das  Installationsscript beendet werden, dann folgende Befehle ausführen und abschließend die Installation erneut starten.

apt-get install build-essential linux-headers-$(uname -r)
ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h

MySQL remote Root Zugriff erlauben

GRANT ALL PRIVILEGES ON *.* TO ‚root’@’%‘ IDENTIFIED BY ‚password‘;