Mail files

From LUGUM

Jump to: navigation, search

mail_files

Dieses Script Mailt alle Dateien in einem Verzeichnis an eine Adresse.

# author: Andreas Kraus <lug@ak1301.de>
# $Revision: 0.1 $
#
# licence: GPL
# http://www.gnu.org/licenses/gpl.html
#
if [ $# -ne 2 ]; then
        echo "Usage: $0 [Verzeichnis] [E-Mail]"
        exit 1
fi
cd $1
find . -type f -name '* *' -exec /usr/local/bin/rename.sh '{}' \;
cd $1

FILE=""
FILES=""
for file in * ;  do
    if [ ! $file == backup ]; then
        FILE="${FILE} -a $file"
        FILES="${FILES} $file"
    fi
done
if [ ! -d ${1}/backup  ]; then
        mkdir -p ${1}/backup
fi

if [ $FILE ]; then
   mutt -x -s "Mail vom Terminalserver" $FILE $2 < /dev/null && mv ${FILES} ${1}/backup/
fi

Dazugehöriges rename.sh

#!/bin/bash
# /usr/local/bin/rename.sh
# ersetzt Leerzeichen durch Unterstriche
# $1 ist der uebergebene Dateiname (evtl. mit Pfad)
#

# ueberprueft, ob ein Argument uebergeben wird
if [ $# -ne 1 ]
  then
  echo "Usage: $0 dateiname"
  exit 1
fi

# Speichert den uebergebenen Dateinamen in input
input=$1

# extrahiert den Pfad (falls vorhanden)
directory=`dirname "$input"`

# extrahiert den Dateinamen (falls Pfad vorhanden)
# entfernt Leerzeichen und ersetzt sie durch einen Unterstrich
# speichert das Resultat in filename
filename=`basename "$input" | tr ' ' '_'`

# fuehrt die Umbenennung mit dem move befehl durch
mv -i "$input" "${directory}/${filename}"


Persönliche Werkzeuge