#!/bin/bash VERSION="v1.0" PROG=`basename $0` DATUM="24.02.2016" AUTOR="Andre Geißler" ech () { echo "$1" > /tmp/log } if [ "$8" == "" ]; then echo "" echo " Aufruf:" echo " $PROG ARC,[dir] CONV,[D2U|U2D] PDF,[Y] MAILCONV,[ma[,ma][,...]] MAILPDF,[ma[,ma][,...]] COPYCONV,[dir] COPYPDF,[dir]" echo "" echo " Beschreibung:" echo " $PROG nimmt Eingaben (Dateiinhalte) auf stdin entgegen, archiviert sie und verschickt" echo " und/oder kopiert sie nach einer eventuellen Konvertierung (PDF, DOS2Unix, Unix2DOS)." echo "" echo " Alle Parameter müssen angegeben werden." echo " Soll einer nicht benutzt werden, wird nach dem Komma nichts angegeben." echo " Pfade können ohne abschließendes / eingegeben werden." echo "" echo " Parameter:" echo " ARC,[Pfad] Archivierung nach Pfad" echo " CONV,[D2U|U2D] Konvertiere Dateiendeformat" echo " DOS nach Linux (D2U) bzw. anders herum (U2D)" echo " PDF,[Y] Erstelle PDF Format der Datei Y=Ja" echo " MAILCONV,[Adresse[,Adresse][,...]] Sende Konvertierte Datei an Mailadresse(n)" echo " MAILPDF,[Adresse[,Adresse][,...]] Sende PDF Datei an Mailadresse(n)" echo " COPYCONV,[Pfad] Kopiere Konvertierte Datei nach Pfad" echo " COPYPDF,[Pfad] Kopiere PDF Datei nach Pfad" echo " " echo " Beispiel:" echo " cat /etc/hosts | ./process.sh \\" echo " ARC,/tmp \\" echo " CONV,D2U \\" echo " PDF,Y \\" echo " MAILCONV,help@conet.de,ageissler@conet.de \\" echo " MAILPDF,help@conet.de,test@er.de \\" echo " COPYCONV,/path1 \\" echo " COPYPDF,/tmp/C \\" echo " FILENAME,MTB_KVxxxx_`date +%F`_`date +%H%M%S`" echo "" echo " $PROG Version $VERSION vom $DATUM. Zuletzt editiert von $AUTOR." echo "" exit; fi ARC=$1 CONV=$2 PDF=$3 MAILCONV=$4 MAILPDF=$5 COPYCONV=$6 COPYPDF=$7 FILENAME=$8 ARCV=`echo $ARC | cut -d, -f2` #echo "$ARCV" CONVV=`echo $CONV | cut -d, -f2` #echo "$CONVV" PDFV=`echo $PDF | cut -d, -f2` #echo "$PDFV" MAILCONVV=`echo $MAILCONV | cut -d, -f2-` #echo "$MAILCONVV" MAILPDFV=`echo $MAILPDF | cut -d, -f2-` #echo "$MAILPDFV" COPYCONVV=`echo $COPYCONV| cut -d, -f2` #echo "$COPYCONVV" COPYPDFV=`echo $COPYPDF | cut -d, -f2` #echo "$COPYPDFV" FILENAMEV=`echo $FILENAME | cut -d, -f2` #echo "$FILENAMEV" #TMPFILE=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1` TMPFILE=$FILENAMEV TMPFILE="/tmp/$TMPFILE.input" #echo $TMPFILE #CONVFILE=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1` CONVFILE=$FILENAMEV CONVFILE="/tmp/$CONVFILE.txt" #echo $CONVFILE #PDFFILE=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1` PDFFILE=$FILENAMEV PDFFILE="/tmp/$PDFFILE.pdf" #echo $PDFFILE cat > $TMPFILE echo "Inhalt liegt in $TMPFILE ab. Starte Verarbeitung." if [ "$ARCV" != "" ]; then echo "Archiviere $TMPFILE nach $ARCV/$FILENAMEV.txt" cp $TMPFILE $ARCV/$FILENAMEV.txt else echo "Keine Archivierung" fi PROCFILE=$TMPFILE if [ "$CONVV" == "D2U" ]; then echo "Konvertiere $TMPFILE nach $CONVFILE (dos2unix)" dos2unix -n $TMPFILE $CONVFILE PROCFILE=$CONVFILE elif [ "$CONVV" == "U2D" ]; then echo "Konvertiere $TMPFILE nach $CONVFILE (unix2dos)" unix2dos -n $TMPFILE $CONVFILE PROCFILE=$CONVFILE else echo "Keine Konvertierung" fi if [ "$PDFV" == "Y" ]; then ENSCRIPT=`which enscript` PS2PDF=`which ps2pdf` if [ "$ENSCRIPT" == "" ]; then echo "enscript konnte nicht gefunden werden. Abbruch!" exit 1 fi echo "enscript gefunden" if [ "$PS2PDF" == "" ]; then echo "ps2pdf konnte nicht gefunden werden. Abbruch!" exit 1 fi echo "ps2pdf gefunden" echo "Konvertiere $PROCFILE nach $PDFFILE" $ENSCRIPT -s 0 -L 72 -f Courier@9/7.5 -B -r -p- $PROCFILE | $PS2PDF - $PDFFILE else echo "Keine Umwandlung in PDF" fi if [ "$MAILCONVV" != "" ]; then echo "Maile $CONVFILE an $MAILCONVV" else echo "Textdatei wird nicht per Mail versendet" fi if [ "$MAILPDFV" != "" ]; then echo "Maile $PDFFILE an $MAILPDFV" else echo "PDF wird nicht per Mail versendet" fi if [ "$COPYCONVV" != "" ]; then echo "Kopiere $CONVFILE nach $COPYCONVV/$FILENAMEV.txt" cp $CONVFILE $COPYCONVV/$FILENAMEV.txt else echo "Textdatei wird nicht kopiert" fi if [ "$COPYPDFV" != "" ]; then echo "Kopiere $PDFFILE nach $COPYPDFV/$FILENAMEV.pdf" cp $PDFFILE $COPYPDFV/$FILENAMEV.pdf else echo "PDF wird nicht kopiert" fi echo "Fertig" echo ""