chiark / gitweb /
add signkey
[bin.git] / pull-mail
old mode 100644 (file)
new mode 100755 (executable)
index 2c11b99..9653250
--- a/pull-mail
+++ b/pull-mail
@@ -1,10 +1,24 @@
 #! /bin/sh
-set -e
 
-if ! [ -e ~/.nomail ]; then
-    date >> ~/.fetchmail/log
-    fetchmail >> ~/.fetchmail/log
-    bsmtp-pull gluck
+if [ -f ~/.nomail ] && [ "$1" != --force ]; then
+       exit 0
 fi
 
+loadavg="$(cut -d. -f1 /proc/loadavg)"
+if [ "$loadavg" -ge 5 ]; then
+       # System load is too high. Don't contribute to it.
+       exit 0
+fi
+
+bsmtp-pull gluck
+
+hour="$(date +%H)"
+case $hour in
+    0[0-289]|[12]*)
+       date >> ~/.fetchmail/log
+       fetchmail >> ~/.fetchmail/log
+       logrotate -s ~/.fetchmail/logrotate.status ~/.fetchmail/logrotate.conf
+       ;;
+esac
+
 exit 0