Mail aus Skript übernimmt keinen inhalt aus Datei
Hallo zusammen,
Ausgangspunkt:
ich überarbeite momentan ein Shell-Skript welches per rsynch Verzeichnisse von einem Mount Point in einen Anderen kopieren, eine Mail mit dem Inhalt einer info.txt (wird in den Verzeichnissen generiert) raus schicken und danach die Quell-Verzeichnisse löschen soll.
Mein Problem:
Das Skript macht soweit was es soll, aber leider kommt die Mail ohne Inhalt an. Als einzigen Output bekomme ich:
ftp-synch
Help-Sync
Das ist bestimmt was recht triviales, aber irgendwie komme ich nicht auf meinen Fehler. Vielleicht kann mir wer von euch helfen.
Grüße
Ausgangspunkt:
ich überarbeite momentan ein Shell-Skript welches per rsynch Verzeichnisse von einem Mount Point in einen Anderen kopieren, eine Mail mit dem Inhalt einer info.txt (wird in den Verzeichnissen generiert) raus schicken und danach die Quell-Verzeichnisse löschen soll.
Mein Problem:
Das Skript macht soweit was es soll, aber leider kommt die Mail ohne Inhalt an. Als einzigen Output bekomme ich:
# ./ftp-synch
recode: fopen (/mnt/destination/portal/files/__info.txt): No such file or directory
cat: /mnt/destination/portal/files/__info.txt: No such file or directory
Null message body; hope that's ok
ftp-synch
#!/bin/bash
ftpdir="/mnt/source/ftp/portal-ftp/public/files/uploaded"
startdir="$ftpdir"
rsyndir=""
filetest="__info.txt"
function rmdir() {
rm -r "$1"
}
function rsyncdir() {
/data/01_script/Help-Sync "$1"
echo "dollar1dir is = $1" >>/var/log/portal/rsync.log
}
function scandir() {
local dirname
local dirvalue
local file
for dirname in "$1"/*; do
if [ -f "$dirname" ]
then
echo "A file was found..." >>/var/log/portal/rsync.log
file=$(echo "$dirname" | cut -d"/" -f10)
echo "File have the value $file" >>/var/log/portal/rsync.log
if [ "$file" = "$filetest" ]
then
echo "The file is a "$filetest" save folder">>/var/log/portal/rsync.log
rsyndir=$(dirname "$dirname")
rsyncdir "$rsyndir"
echo "rsyncdir 1 is = $rsyncdir" >>/var/log/portal/rsync.log
fi
elif [ -d "$dirname" ]
then
echo "Found Folder "$dirname" , check if the directory is empty.">>/var/log/portal/rsync.log
dirvalue=$(ls -al "$dirname" | wc -l)
if [ "$dirvalue" -le 3 ]
then
echo "Folder "$dirname" is empty and will be deleted">>/var/log/portal/rsync.log
dir2rm="$dirname"
rmdir "$dir2rm"
echo "rmdir = $dir2rm"
else
scandir "$dirname"
echo "rsyncdir EOL is = $rsyncdir" >>/var/log/portal/rsync.log
# rsyncdir "$rsyncdir"
fi
fi
done
}
if [ -d "$ftpdir" ]
then
scandir "$ftpdir"
else
echo Error "$ftpdir" is not a directory
fi
end
Help-Sync
#!/bin/bash
echo Start rsync /mnt/source $(date) >>/var/log/portal/rsync.log
rsync -avz --remove-source-files "$1" /mnt/destination/portal/ >>/var/log/portal/rsync.log 2>>/var/log/portal/rsync.err
echo End rsync /mnt/source $(date) >>/var/log/portal/rsync.log
dir=$(echo "$1" | cut -d"/" -f7 )
recode ibmpc..u8 /mnt/destination/portal/"$dir"/__info.txt
cat /mnt/destination/portal/"$dir"/__info.txt | mail -s "Neue Datei auf Portal" name@mail.com
Das ist bestimmt was recht triviales, aber irgendwie komme ich nicht auf meinen Fehler. Vielleicht kann mir wer von euch helfen.
Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 400147
Url: https://administrator.de/forum/mail-aus-skript-uebernimmt-keinen-inhalt-aus-datei-400147.html
Ausgedruckt am: 23.12.2024 um 06:12 Uhr
5 Kommentare
Neuester Kommentar
Moin,
wenn ich das richtig sehen, dann löschst Du hier die Datei:
Und deshalb ist sie hier nicht mehr da:
hth
Erik
wenn ich das richtig sehen, dann löschst Du hier die Datei:
Zitat von @D1Ck3n:
Help-Sync
Help-Sync
#!/bin/bash
[...]
rsync -avz --remove-source-files "$1" /mnt/destination/portal/ >>/var/log/portal/rsync.log 2>>/var/log/portal/rsync.err
Und deshalb ist sie hier nicht mehr da:
recode ibmpc..u8 /mnt/destination/portal/"$dir"/__info.txt
cat /mnt/destination/portal/"$dir"/__info.txt | mail -s "Neue Datei auf Portal" name@mail.com
hth
Erik