diff options
Diffstat (limited to 'contrib/delete-later')
-rw-r--r-- | contrib/delete-later | 112 |
1 files changed, 56 insertions, 56 deletions
diff --git a/contrib/delete-later b/contrib/delete-later index 50c705c9..4db69732 100644 --- a/contrib/delete-later +++ b/contrib/delete-later @@ -1,56 +1,56 @@ -#!/usr/bin/expect -f
-
-# 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
-
+#!/usr/bin/expect -f + +# 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 + |