> -----Original Message-----
> From: Marc Prewitt [mailto:[EMAIL PROTECTED]]
> Sent: 11 April 2002 14:46
> To: [EMAIL PROTECTED]
> Cc: paul
> Subject: Re: How to automate bin-log clean-up with replicated MySQL
> servers?
>
>
> PFIZER GLOBAL RESEARCH AND DEVELOPMENT
> ----------------------------------------------------------------
> This message and any attachment has been virus checked by the
> PGRD Sandwich Data Centre.
> ----------------------------------------------------------------
>
> We have a slightly smarter script which checks each slave to find the
> furthest one behind and purges up to that number. However,
> it currently
> figures out who the slaves are by checking a process status on the
> master. Unfortunately, this doesn't work if one of your
> slaves is down.
> So, I'm going to rewrite it to check the known slaves.
>
> -Marc
>
Marc,
Can you posted an updated version to the list when you've done it ?
Thanks
Greg
> Jeremy Zawodny wrote:
> >
> > On Tue, Apr 09, 2002 at 10:15:12AM +0200, paul wrote:
> > > Hello all,
> > >
> > > I have setup a replication between two MySQL v4.01a servers on
> > > FreeBSD, which works really fine. The only problem is
> that since we
> > > have MANY updates on the master database, the bin-logs grow very
> > > fast. We need to do a manual clean-up at least once every
> other day,
> > > otherwise the disk space will get exhausted: "SHOW SLAVE
> STATUS" on
> > > the slave, write down the 'Log_File' name, and pass that to "PURGE
> > > MASTER LOGS TO 'logname'" on the master.
> > >
> > > Does anybody have an idea how we could automate this procedure, or
> > > should we manage the log-files is another way?
> >
> > Here's a quick home-grown solution that works well for us. It's not
> > the smartest approach, but we never let a slave get too far behind
> > (they're all closely monitored), it works qutie well.
> >
> > This is purge_master_logs:
> >
> > ---snip---
> >
> > #!/usr/local/bin/perl -w
> > #
> > # $Source: /CVSROOT/yahoo/finance/mysql/bin/purge_master_logs,v $
> >
> > ## On a mysql server, purge the replication logs if there are "too
> > ## many" sitting around and sucking up disk space.
> >
> > $|++;
> >
> > use strict;
> > use RunMutex '/tmp/.write_heartbeat.lock';
> > use DBIx::DWIW;
> >
> > my $MIN_LOGS = 4; ## keep at least three binary logs around
> >
> > my $db = DBIx::DWIW->Connect(
> > DB => "mysql",
> > User => "root",
> > Pass => "password",
> > Host => 'localhost',
> > );
> >
> > if (not $db)
> > {
> > die "Couldn't connect to database!";
> > }
> >
> > my @logs = $db->FlatArray("SHOW MASTER LOGS");
> >
> > ## see if there are enough to bother
> >
> > if (@logs < $MIN_LOGS)
> > {
> > exit;
> > }
> >
> > ## if so, figure out what the last one we want to kee is
> >
> > my $last_log = $logs[-$MIN_LOGS];
> >
> > print "last log is $last_log\n" unless $ENV{CRON};
> >
> > ## and purge the rest
> >
> > $db->Execute("PURGE MASTER LOGS TO '$last_log'");
> >
> > exit;
> >
> > __END__
> >
> > ---snip---
> >
> > Jeremy
> > --
> > Jeremy D. Zawodny, <[EMAIL PROTECTED]>
> > Technical Yahoo - Yahoo Finance
> > Desk: (408) 349-7878 Fax: (408) 349-5454 Cell: (408) 685-5936
> >
> > MySQL 3.23.47-max: up 61 days, processed 1,654,071,336
> queries (311/sec. avg)
> >
> >
> ---------------------------------------------------------------------
> > Before posting, please check:
> > http://www.mysql.com/manual.php (the manual)
> > http://lists.mysql.com/ (the list archive)
> >
> > To request this thread, e-mail <[EMAIL PROTECTED]>
> > To unsubscribe, e-mail <mysql-unsubscribe-##L=##[EMAIL PROTECTED]>
> > Trouble unsubscribing? Try:
> http://lists.mysql.com/php/unsubscribe.php
>
> ---------------------------------------------------------------------
> Before posting, please check:
> http://www.mysql.com/manual.php (the manual)
> http://lists.mysql.com/ (the list archive)
>
> To request this thread, e-mail <[EMAIL PROTECTED]>
> To unsubscribe, e-mail <mysql-unsubscribe-##L=##[EMAIL PROTECTED]>
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
>
PFIZER GLOBAL RESEARCH AND DEVELOPMENT
----------------------------------------------------------------
This message and any attachment has been virus checked by the
PGRD Sandwich Data Centre.
----------------------------------------------------------------
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <mysql-unsubscribe-##L=##[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php