Hallo!
Ich habe meine Diskstation 211 auf DSM 6 upgedated.
Anscheinend gibt es aber eine Änderung mit der Busybox.
Das Getmail-Script bricht beim Kopieren der Busybox nach /tmp ab. Somit werden dann auch keine Mails mehr abgeholt.
Ich habe unter /bin nachgesehen, dort gibt es auch keine Busybox mehr. Ich bin etwas ratlos..
Gruß
Vore
Ich habe meine Diskstation 211 auf DSM 6 upgedated.
Anscheinend gibt es aber eine Änderung mit der Busybox.
Das Getmail-Script bricht beim Kopieren der Busybox nach /tmp ab. Somit werden dann auch keine Mails mehr abgeholt.
Ich habe unter /bin nachgesehen, dort gibt es auch keine Busybox mehr. Ich bin etwas ratlos..
Gruß
Vore
Rich (BBCode):
#! /bin/sh
test -f /opt/bin/collect_mails.sh || exit 0
cp /bin/busybox /tmp
ln -s /tmp/busybox /tmp/sh
sh /opt/bin/collect_mails.sh
exit
#!/tmp/sh
## NAME des getmail Scripts hier anpassen (ohne Pfadangabe!!!)
pfad_getmail=getmail.sh
# Pfad fuer Logfile hier angeben. ALLE Ausgaben des Skriptes werden hierhin umgeleitet
getmail_log=/opt/var/log/user.getmail.log
if test -e /tmp/checkmaill ; then
echo "Code rennt bereits"
exit
elif test "$(whoami)" != "root" ; then
echo "Das Script MUSS unter root laufen. Mittels su <user> holt das Script die Emails dann als <user> ab"
exit
elif test ! -e $getmail_log ; then
echo "Das Logfile unter $getmail_log konnte nicht gefunden werden"
exit
fi
## WICTHIG: Der Link zwischen /tmp/busybox und /tmp/sh MUSS manuell vor dem Aufruf der Scriptes erstellt werden!!
cp -f /bin/busybox /tmp/ >> $getmail_log 2>&1
ln -s /tmp/busybox /tmp/sleep >> $getmail_log 2>&1
ln -s /tmp/busybox /tmp/expr >> $getmail_log 2>&1
ln -s /tmp/busybox /tmp/test >> $getmail_log 2>&1
ln -s /tmp/busybox /tmp/pidof >> $getmail_log 2>&1
ln -s /tmp/busybox /tmp/cut >> $getmail_log 2>&1
ln -s /tmp/busybox /tmp/ls >> $getmail_log 2>&1
ln -s /tmp/busybox /tmp/grep >> $getmail_log 2>&1
ln -s /tmp/busybox /tmp/su >> $getmail_log 2>&1
ln -s /tmp/busybox /tmp/find >> $getmail_log 2>&1
i=0
touch /tmp/checkmaill
echo $$ > /tmp/checkmaill
PATH=/tmp
while true; do
s=`pidof imap`
t=''
if test "$s" != '' ; then
for var in $s ; do
tt=`ls -all /proc | grep $var | cut -d' ' -f6`
if test "$tt" != "$t" ; then
for ii in `find /volume1/homes/$tt -name $pfad_getmail`; do
su $tt -c "$ii" >> $getmail_log 2>&1
$ii >> $getmail_log 2>&1
done
t=$tt
fi
done
i=`expr $i + 1`
sleep 60
else
tt=''
i=`expr $i + 1`
sleep 1
if test `expr $i % 3600` -eq 0 ; then
i=0
for ii in `find /volume1/homes/ -name $pfad_getmail`; do
tt=`ls -all $ii | cut -d' ' -f6`
# siehe oben (Zeile 44-46)
su $tt -c "$ii" >> $getmail_log 2>&1
$ii >> $getmail_log 2>&1
done
fi
fi
done