From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Michael Shigorin To: mandrake-russian@altlinux.ru Message-ID: <20011023083831.E2319@lic145.kiev.ua> Mail-Followup-To: mandrake-russian@altlinux.ru References: <20011022205751.A3652@voins.local> <20011023091528.722bc4f5.a_prokudin@pub.tmb.ru> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="11Y7aswkeuHtSBEs" Content-Disposition: inline In-Reply-To: <20011023091528.722bc4f5.a_prokudin@pub.tmb.ru> User-Agent: Mutt/1.3.22.1i Subject: [mdk-re] mailrotate.sh =?koi8-r?B?KMEg1MHL1sUgyyDT?= =?koi8-r?B?zM/X1SDPIMLZ09TSz8ogzsHT1NLPysvFINDP3tTZKQ==?= Sender: mandrake-russian-admin@altlinux.ru Errors-To: mandrake-russian-admin@altlinux.ru X-BeenThere: mandrake-russian@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: Linux-Mandrake RE / ALT Linux discussion list List-Unsubscribe: , List-Archive: Date: Tue Oct 23 09:51:04 2001 X-Original-Date: Tue, 23 Oct 2001 08:38:31 +0300 Archived-At: List-Archive: List-Post: --11Y7aswkeuHtSBEs Content-Type: multipart/mixed; boundary="VywGB/WGlW4DM4P8" Content-Disposition: inline Content-Transfer-Encoding: 8bit --VywGB/WGlW4DM4P8 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit On Tue, Oct 23, 2001 at 09:15:28AM +0400, Alexandre Prokoudine wrote: > А кстати, каким образом можно автоматизировать бэкапинг почты? Ну, так, > Какие идеи будут? Стоп. Или я на днях постил mailrotate.sh, или скажите, что я неправ. Цепляю еще раз. Кстати, вообще есть мысль наваять тиклевый конфигуратор (quickstarter этакий) на тему "сделать ~/.procmailrc (с фильтром дубликатов :-d), запустить fetchmailconf, включить бэкап, прописать его в кронтаб; взять базовые настройки почтовки из /etc/skel || набора". Пока чуть-чуть застрял с интерфейсом (в общем виде). Хотя, по правде, сделать бы это все модульным и умным, не стыдно было бы и в мир показать. Пока даже приаттачить считай что нечего :( -- WBR, Michael Shigorin -- webmaster at www.chem.univ.kiev.ua >Home Page: http://visa.chem.univ.kiev.ua/~mike/ ICQ: 113344029 >Brainbench: http://www.brainbench.com/transcript.jsp?pid=2434729 --VywGB/WGlW4DM4P8 Content-Type: text/plain; charset=us-ascii Content-Description: mailrotate.sh Content-Disposition: attachment; filename="mailrotate.sh" #!/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 $SINCEAFTER) # not to leave mailboxes empty. # WARNING: BACKUP YOUR MAIL BEFORE USING! NO WARRANTIES! MDIR="$HOME/mail" ARCROOT="$MDIR/archive" MBOXES="_* READ MDS" LOG="$ARCROOT/mailrotate.log" KEEP="7 days" # to leave me in context KEEPEMPTY= # keep empty boxes? "" or non-empty string SKIPEXIST= # skip existing archive mbox or append to it? MODE=644 # mktemp will DATEFMT="%Y-%m-%d" SINCEAFTER=after # ...or "since". One day difference. MAILPS="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="$ARCROOT/$i" [ -d "$ARCDIR" ] || mkdir -p "$ARCDIR" ARCMBOX="$ARCDIR/`date -d "$KEEP ago" +$DATEFMT`" [ -f "$ARCMBOX" -a "$SKIPEXIST" ] && continue TMPFILE="`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 --VywGB/WGlW4DM4P8-- --11Y7aswkeuHtSBEs Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE71QJXbsPDprYMm3IRAkglAJ9YHUHh0i/JJuYhv7H1hhtUQ/bJiQCdHz/r JJNmjHKhEktIaCq14KqWky8= =1Wlb -----END PGP SIGNATURE----- --11Y7aswkeuHtSBEs--