archiver als hilfreiche Funktion

  • Urspruenglicher Autor: Dirk Deimeke
  • Urspruengliches Datum: 18.02.2011

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.