]> git.donarmstrong.com Git - bin.git/blob - getmail
* source ssh_agent info in getmail
[bin.git] / getmail
1 #!/bin/sh
2
3 # Configure the two things below for your MUA and the host being run.
4 IMAPHOST=linnode.donarmstrong.com
5 MUA=mutt
6
7 #set -x
8
9 # Don't check mail if ~/.nocheck exists and we're not running
10 # interactively.
11 if [[ -z "$CRON" && -e ~/.nocheck ]]; then
12     exit 0;
13 fi;
14
15 # See if the server exists
16 if [ -z "$CRON" ] || kill -0 `pgrep -U $(id -u) -x $MUA` 2>/dev/null; then
17     if ping -q -c 3 $IMAPHOST >/dev/null 2>&1; then
18         if [ -e ~/.ssh/ssh_agent_info ]; then
19             . ~/.ssh/ssh_agent_info
20         fi;
21         if nice -n 19 offlineimap -o -u Noninteractive.Basic 2>&1 |grep validity| \
22             perl -ne 'my ($account,$list) = /UID validity problem for folder ([\w-]+)\.([\w-]+)/;
23                       next unless defined $account and length $account;
24                       qx(/home/don/bin/deletemailbox -a $account $list > /dev/null);'; then
25             # Clean the lists up too
26             for account in bugs lists; do
27                 find /home/don/Mail/$account -maxdepth 1 -mindepth 1 -type d \
28                     -exec sh -c 'test $(find {} -type f |wc -l) -eq 0' ';' \
29                     -printf '%f\000'|xargs -0 -rn 1 ~/bin/deletemailbox -a $account >/dev/null 2>&1;
30                 find /home/don/Mail/$account -maxdepth 2 -mindepth 2 -iname 'new' \
31                     -type d -ctime +60 -printf '%h\n'|xargs -rn 1 basename|xargs \
32                     -rn 1 /home/don/bin/deletemailbox -a $account >/dev/null 2>&1;
33             done;
34         fi;
35     fi;
36 fi;