aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/logout
blob: 96c9111dfe06b93e9cfa896872aeeca773b27b66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#	~/.bash_logout
#	Clean things up when I Exit.

# Below is for Fetchmail clean up
#
#	TDEV=my PRESENT terminal device IE: ttyp0, tty5, .....
#
export TDEV=`tty | sed -n -e "s#/dev/##p"`
#
if [ -s ~/.fetchmail ]; then
#
    if [ -s ~/.fetchmail.$TDEV ]; then
	TEST=`/usr/bin/grep 'notowner' ~/.fetchmail.$TDEV`
#
        if [ ! -z $TEST ]; then
	    /bin/rm -rf ~/.fetchmail.$TDEV
	elif [ -z $TEST ]; then
	    /bin/rm -rf ~/.fetchmail.$TDEV
	    /usr/local/bin/fetchmail -q >/dev/null 2>&1
	fi
#
    else
	echo "WARNING: A process either did not record a ~/.fetchmail.$TDEV" >> ~/.fetchmail.warning.$TDEV
	echo "WARNING: Or removed the file manually ." >> ~/.fetchmail.warning.$TDEV
    fi
#
else
    echo "WARNING: parent process has exit'ed & removed primary ~/.fetchmail.$TDEV " >> ~/.fetchmail.warning.$TDEV
fi
# END of Fetchmail clean up
s="nx">MySQL database connection settings set CRDB_host localhost set CRDB_DB test set CRDB_username root set CRDB_password root # set eiter one to 1 for verbose output log_user 0 set comments 0 package require mysqltcl # connect to MySQL database set handle [::mysql::connect -host $CRDB_host -user $CRDB_username -password $CRDB_password] # get server/usernames to clean up set userlist [::mysql::sel $handle "SELECT UserID, server, username, password, retaindays from $CRDB_DB.fetchmail_user" -flatlist] # loop through all users in database foreach {userid server username password days} $userlist { if {$comments==1} { send_user "\r\nWorking on accound #$userid\r\n*******************************\r\n" } eval spawn telnet -l fetchmail_cleanup $server 110 expect "ready" send "USER $username\r" expect "password" send "PASS $password\r" expect "OK" send "STAT\r" expect "+OK " expect -re "\[0-9]* " set anz $expect_out(0,string) if {$comments==1} { send_user "message count: $anz \r\n" } set i 0 while { $i < $anz } { incr i send "UIDL $i\r" expect -re "\\\+OK $i \(.*\)\r" set uid $expect_out(1,string) ::mysql::exec $handle "insert ignore into $CRDB_DB.fetchmail values ($userid,'$uid',now());" set age [::mysql::sel $handle "SELECT DATEDIFF(now(),Fetchdate) from $CRDB_DB.fetchmail where UserID=$userid and UID='$uid'" -list] if {$comments==1} { send_user "Message #$i: UID: $uid , age: $age \r\n" } if {$age > $days} { send "DELE $i\r" expect "deleted" if {$comments==1} { send_user "Message $i deleted.\r\n" } } } send "quit\r" expect "signing off" ::mysql::exec $handle "delete from $CRDB_DB.fetchmail where DATEDIFF(now(),Fetchdate)>($days*2) and UserID=$userid;" } ::mysql::close $handle exit