#!/bin/sh # # This file /etc/ppp/ip-up is run by pppd when there's a # successful ppp connection. # # Put any commands you want run after a successful connection # in this file. # # Any commands you want printed to the screen should be directed # to: >/dev/tty0 # # Other commands should not be directed to: >/dev/tty0 # # The companion file is /etc/ppp/ip-down, it's run when the PPP # connection ends. # # This file is created when you run pppsetup: Mon Feb 13 20:53:36 MST 2006 # # The environment is cleared before executing this script # so the path must be reset. # PATH=/usr/bin:/usr/sbin:/usr/local/bin:/sbin:/bin export PATH # This will print to the screen the local & remote IP address when you # make a successful ppp connection. $4 = Local IP $5 = Remote IP # # The CARRIER speed at which you connected will be reported, if it's in # the /var/log/messages file. You also need the programs "tail" "cut" # "tr" "grep" and "syslogd" running for this to work. # You may have to add S95=46 to your modem init string # to get your modem to report the DCE = CARRIER speed. # Example: AT&FS95=46 if [ -s /var/log/messages ] && ( ps xc 2>/dev/null | grep -q syslogd 2>/dev/null ); then S=`tail -n 30 /var/log/messages 2>/dev/null | grep "CARRIER[^)]" 2>/dev/null | tr -d "^M" 2>/dev/null | cut -d: -f4 2>/dev/null` echo -n "$S" >/dev/tty0 echo " Local: $4 -> Remote: $5 $1" >/dev/tty0 else echo " Local: $4 -> Remote: $5 $1" >/dev/tty0 fi # If you want to ping the other end to keep the connection open. # The output from ping will goto >/dev/null, you won't see it. # Ping -i 60 = send ping every 60 seconds to remote = $5. (ping -i 60 $5 &) >/dev/null 2>&1 # set resolver to use bamnet's DNS ln -sf /etc/resolv.conf.ppp /etc/resolv.conf # If you want sendmail to send any mail in /var/spool/mqueue when # you connect, remove the # below. sendmail -q & # If you want fetchmail to get your mail when you connect and check # every 300 seconds = 5 minutes for mail, remove the # below. #fetchmail -d 300 # End... for username in $(awk -F ':' '$4 ~ /^100$/ {print $1}' /etc/passwd); do su - $username -c "[ -r .netrc -a -r .fetchmailrc ] && fetchmail &>/dev/null" & done # terminate session once all mail has been delivered # also have a cron job to kill it in case something hangs while [ "$(pidof sendmail)" ] || [ "$(pidof fetchmail)" ]; do sleep 10 done ppp-off