Files
2024-10-13 23:27:09 +02:00

171 lines
4.4 KiB
Bash

#!/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 ""