From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 4 Jul 2005 19:48:52 +0300 From: Michael Shigorin To: ALT Linux Sisyphus discussion list Message-ID: <20050704164852.GA24580@osdn.org.ua> Mail-Followup-To: ALT Linux Sisyphus discussion list References: <20050630203416.4e30ae34.taf@altlinux.ru> <20050630213528.368b749f.taf@altlinux.ru> <20050630134847.GV24580@osdn.org.ua> <42C3F886.1060005@ricom.ru> <20050630135317.GY24580@osdn.org.ua> <42C56B4A.2000505@altlinux.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="e8qZfHQ+vBaVzH4j" Content-Disposition: inline In-Reply-To: <42C56B4A.2000505@altlinux.org> User-Agent: Mutt/1.4.2.1i Subject: [sisyphus] mailrotate X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jul 2005 16:48:56 -0000 Archived-At: List-Archive: --e8qZfHQ+vBaVzH4j Content-Type: multipart/mixed; boundary="DbfMJPzVK3bTmpax" Content-Disposition: inline --DbfMJPzVK3bTmpax Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jul 01, 2005 at 08:11:54PM +0400, Mikhail Yakshin wrote: > >>=E1 =CE=C5 =DA=CE=C1=C0, =D5 =CD=C5=CE=D1 =CC=CF=CB=C1=CC=D8=CE=C1=D1 = =D7 =CF=D3=CE=CF=D7=CE=CF=CD. =ED=CF=D6=CE=CF =D0=CF=C4=D5=CD=C1=D4=D8 =C9= =CE=C1=C4 > >>IMAP, =D7=CF=D4 =D4=CF=CC=D8=CB=CF =CD=CE=C5 =CE=C5 =D4=D2=C5=C2=D5=C5= =D4=D3=D1 =D0=CF=CB=C1. > >=E4=C1 =C4=C1, =C9=CE=D4=C5=D2=C5=D3=CE=CF =CB=C1=CB =D4=D9 =CE=C1 Imap = =D3=C4=C5=CC=C1=C5=DB=D8 rotate. =F6=C5=CE=C0 =CE=C1=D4=D2=C1=D7=CC=C0. :) > =F1 =C4=C5=CC=C1=C0 =D0=D2=C9=CD=C5=D2=CE=CF =D4=C1=CB %) =EE=C1=D0=C9=D3= =C1=CE=CF =DA=C1 =D0=C1=D2=D5 =CD=C9=CE=D5=D4, works-for-me... =FC=DC=DC... =C6=C9=C7=CE=D1-=D3, =CD=CF=D1 =C2=CF=C4=D1=C7=C1 =C8=CF=D4=D1= =C2=D9 =CE=C5=C4=C5=CC=D8=CE=D9=CA =CB=CF=CE=D4=C5=CB=D3=D4 =CF=D3=D4=C1= =D7=CC=D1=C5=D4. ;-) =EF=D0=D5=C2=CC=C9=CB=CF=D7=C1=CE=C1 =CF=CE=C1 =C2=D9=CC=C1 =C5=DD=A3 =D7 2= 001: http://lists.altlinux.ru/pipermail/community/2001-October/030262.html =E1=D4=D4=C1=DE=D5, =D0=CF=CE=D2=C1=D7=C9=D4=D3=D1 -- =CD=CF=C7=D5 =CE=C1 f= reesource =D0=CC=C0=C8=CE=D5=D4=D8 :-) --=20 ---- WBR, Michael Shigorin ------ Linux.Kiev http://www.linux.kiev.ua/ --DbfMJPzVK3bTmpax Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="mailrotate.sh" Content-Transfer-Encoding: quoted-printable #!/bin/sh # A free script to rotate mail by Michael Shigorin # v20011020 # moves $MBOXES (wildcards allowed) in $MAIL to files named after $DATEFMT = in # directories under $ARCROOT, leaving fresher than $KEEP (see also $SINCEAF= TER) # not to leave mailboxes empty. # WARNING: BACKUP YOUR MAIL BEFORE USING! NO WARRANTIES! MDIR=3D"$HOME/mail" ARCROOT=3D"$MDIR/archive" MBOXES=3D"_* READ MDS" LOG=3D"$ARCROOT/mailrotate.log" KEEP=3D"7 days" # to leave me in context KEEPEMPTY=3D # keep empty boxes? "" or non-empty string SKIPEXIST=3D # skip existing archive mbox or append to it? MODE=3D644 # mktemp will=20 DATEFMT=3D"%Y-%m-%d" SINCEAFTER=3Dafter # ...or "since". One day difference. MAILPS=3D"mutt" # egrep's regexp, i.e. (mutt|pine|sylpheed) echo `date +$DATEFMT` >>$LOG [ -n "`ps -u $USER | egrep " $MAILPS$"`" ] && { echo "$MAILPS running as $USER, exiting..." >>$LOG exit } || echo "$0: starting..." >>$LOG perl -e 'require Date::Parse; require Date::Manip' || { echo "ERROR: grepmail needs Date::Parse and Date::Manip to" >&2 echo " enable -d option (which we need)." >&2 echo >&2 echo "Exiting to keep your mail safe; please run" >&2 echo "perl -MCPAN -e 'install Date::Parse' && perl -MCPAN -e 'install Date= ::Manip'" >&2 echo "as root to install the needed modules!" >&2 exit 1 } cd "$MDIR" for i in $MBOXES; do [ ! -f "$i" -o -f "$i.lock" ] && continue ARCDIR=3D"$ARCROOT/$i" [ -d "$ARCDIR" ] || mkdir -p "$ARCDIR" ARCMBOX=3D"$ARCDIR/`date -d "$KEEP ago" +$DATEFMT`" [ -f "$ARCMBOX" -a "$SKIPEXIST" ] && continue TMPFILE=3D"`mktemp "$i.tmp-XXXXXX"`" grepmail -had "$SINCEAFTER $KEEP ago" "$i" >"$TMPFILE" 2>>$LOG # [ -f "$ARCMBOX" ] && echo "WARNING: $ARCMBOX already exists!" >>$LOG grepmail -vhad "$SINCEAFTER $KEEP ago" "$i" >>"$ARCMBOX" 2>>$LOG [ -s "$TMPFILE" -o "$KEEPEMPTY" ] && { mv "$TMPFILE" "$i" chmod $MODE "$i" } [ -s "$ARCMBOX" -o "$KEEPEMPTY" ] || rm -f "$ARCMBOX" done find "$MDIR/" -name '*.tmp-*' | xargs rm -rf echo "$0: done." >>$LOG --DbfMJPzVK3bTmpax-- --e8qZfHQ+vBaVzH4j Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) iD8DBQFCyWh0bsPDprYMm3IRArniAJ9+g/rFclXLjH0KBh50D9oqyOO+dwCfWAEw gzajwnNC3I85lu0G3bNAdrY= =3r12 -----END PGP SIGNATURE----- --e8qZfHQ+vBaVzH4j--