From 243e280b5fd9527891a58d6578f2e659302908c7 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 29 Oct 2018 03:13:31 -0400 Subject: just use hostnames for this stuff i don't really want another level of indirection --- bin/tozt/learn_spam | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 bin/tozt/learn_spam (limited to 'bin/tozt') diff --git a/bin/tozt/learn_spam b/bin/tozt/learn_spam new file mode 100755 index 0000000..ab5603a --- /dev/null +++ b/bin/tozt/learn_spam @@ -0,0 +1,36 @@ +#!/bin/bash + +MAILDIR=~/Maildir +OPTS="--no-sync" +SALEARN=/usr/bin/vendor_perl/sa-learn + +if [[ "$1" == "-q" ]]; then + OPTS="$OPTS" + OUTFILE="/dev/null" +else + OPTS="$OPTS --showdots" + OUTFILE="/dev/stdout" +fi + +if [[ ! "$1" == "-q" ]]; then + echo "$(date): Learning ham..." +fi +nice find $MAILDIR -type f | \ + perl -nl0e'chomp; ($ts) = /(\d{10})/; $now = time; print if m{/(new|cur)/} && !m{/(\.old|\.spam)/} && $ts > $now - 60*60*24*30' | \ + xargs -n1000 -0 $SALEARN $OPTS --ham > $OUTFILE + +if [[ ! "$1" == "-q" ]]; then + echo "$(date): Learning spam..." +fi +nice find $MAILDIR -type f | \ + perl -nl0e'chomp; ($ts) = /(\d{10})/; $now = time; print if m{/(new|cur)/} && m{/\.spam/} && $ts > $now - 60*60*24*30' | \ + xargs -n1000 -0 $SALEARN $OPTS --spam > $OUTFILE + +if [[ ! "$1" == "-q" ]]; then + echo "$(date): Syncing..." +fi +nice $SALEARN --sync > $OUTFILE + +if [[ ! "$1" == "-q" ]]; then + echo "$(date): Done!" +fi -- cgit v1.2.3-54-g00ecf