Im Laufe der Monate hat sich bei mir eine sehr umfangreiche .bashrc
gebildet. In ihr werden Variablen, Aliases und Funktionen definiert, die die Arbeit mit der Shell enorm vereinfachen.
Eine der Funktionen ist archiver
. Diese Funktion nimmt eine Anzahl von Dateien als Parameter, benennt sie mit dem Timestamp des Aufrufs der Funktion um und komprimiert sie dann. Urspruenglich hatte ich sie fuer die Komprimierung von Logdateien geschrieben, aber sie hilft auch beim Platz frei machen.
function archiver { timestamp=$(date +%Y%m%d%H%M%S) for i in $@ do if [[ -w "${i}" ]] then echo ${i} mv "${i}" "${i}.${timestamp}" gzip -9 "${i}.${timestamp}" fi done }
Ein Aufruf der Funktion mit archiver abc.log
erzeugt die komprimierte Datei abc.log.20110219090000.gz
. Das ist natürlich alles nach dem eigenen Geschmack anpassbar.