Corrected code follows (missing do/done). Save to file, chmod +x name-of-file, don't run this script from cron.
It needs to be started at boot time, or before you make a VPN
connection.
#!/bin/sh
while :
do
ifconfig xxx | egrep 'UP|DOWN'
sleep 2
done | while read status
do
case "$status" in
*UP*) if [ "$prev" -ne up ]
then
prev=up
postconf -X defer_transports
postfix reload
fi;;
*) if [ "$prev" -ne down ]
then
prev=down
postconf defer_transports=smtp
postfix reload
fi;;
esac
done
Wietse
