You can subscribe to this list here.
2000 |
Jan
(2) |
Feb
(24) |
Mar
(4) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(5) |
Oct
(4) |
Nov
|
Dec
(26) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(8) |
Dec
|
2003 |
Jan
(10) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2004 |
Jan
(9) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
2005 |
Jan
|
Feb
(1) |
Mar
(4) |
Apr
(2) |
May
(1) |
Jun
(3) |
Jul
(4) |
Aug
(2) |
Sep
(6) |
Oct
(6) |
Nov
(17) |
Dec
(28) |
2006 |
Jan
(9) |
Feb
(6) |
Mar
(4) |
Apr
(2) |
May
(11) |
Jun
(22) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(6) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
(6) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
(1) |
Mar
(3) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Stelian P. <st...@po...> - 2010-04-27 14:49:53
|
Hi Phillip, On Mon, Apr 26, 2010 at 11:32:47AM -0400, Phillip Susi wrote: > The archives show almost no activity on this list for some time, Yeah, these are quiet times for dump :) > so I > hope this finds its way to someone. I have been trying to understand > why dump uses multiple processes that seem to burn through a lot of cpu > time when doing a compressed backup with a larger block size ( 512 kb ). The choice of using multiple processes in dump was made back in the (very) old days, when the speed of tape drives exceeded the disk IO (and CPU) speeds, and when it was important - performance wise - to keep the tape drives under a constant flow of data. > The code is very hard to follow, but it seems like the first process > reads blocks from the disk and writes them to a pipe. The second > process reads from the pipe and compresses the data, then writes it to > another pipe. Finally the third process reads the compressed data from > the pipe, slaps a header on it, and writes it to the tape. Is this > correct? Does the third process attempt to reblock the data so it > always writes fixed size records? If so, how does it do this? There is one main process (well, more exactly one main process per volume) which traverses the filesystem, computing the list of disk blocks to be saved. This list is written into a pipe, which is read by several (#define SLAVES 3) slaves. Each slave reads a block number from the pipe, seeks the disk to the wanted offset, reads the block, compresses the block if asked to, writes it on the tape, then signals the next slave to do its job. The slaves do synchronize one another, serializing the access to the tape drive, but doing disk reads and compression in parallel. Hope this explains things a bit. Stelian. -- Stelian Pop <st...@po...> |
From: Kenneth P. <sh...@se...> - 2010-04-26 22:23:56
|
--On Monday, April 26, 2010 12:32 PM -0400 Phillip Susi <ps...@cf...> wrote: > The archives show almost no activity on this list for some time, so I > hope this finds its way to someone. That's likely an indication that those of us who use dump find it very stable and have nothing to complain about. (At least, that we're willing to put effort into fixing. ;)) I'll leave it to Stelian to explain the architecture. |
From: Phillip S. <ps...@cf...> - 2010-04-26 15:53:14
|
The archives show almost no activity on this list for some time, so I hope this finds its way to someone. I have been trying to understand why dump uses multiple processes that seem to burn through a lot of cpu time when doing a compressed backup with a larger block size ( 512 kb ). The code is very hard to follow, but it seems like the first process reads blocks from the disk and writes them to a pipe. The second process reads from the pipe and compresses the data, then writes it to another pipe. Finally the third process reads the compressed data from the pipe, slaps a header on it, and writes it to the tape. Is this correct? Does the third process attempt to reblock the data so it always writes fixed size records? If so, how does it do this? |
From: Gertjan v. W. <gwi...@gm...> - 2009-05-29 08:04:35
|
Hi Stelian, On Thu, May 28, 2009 at 11:03 PM, Stelian Pop <st...@po...> wrote: > Hi Gertjan, > > On Tue, May 26, 2009 at 12:50:14PM -0700, Gertjan van Wingerde wrote: > >> I've created a patch for dump to properly dump ext4 filesystems under Linux. >> It currently only works on Linux as it heavily depends on the ext2fs >> library, which is only used on Linux for dumping regular files. > > First of all, thanks for your patch. I suppose this require a recent > version of ext2fs libs ? > Yes, this requires a recent version of the ext2fs libs. I am not sure which version is the first version that works, but I've tested it with the latest version of the ext2fs libs. > However, I'm a bit puzzled because I thought ext4 was quite different than > ext3, and your patch seems way too simple to make dump work on ext4. > > In particular, dump does raw seeks on the underlying disk device and > reads fixed size blocks, and I thought ext4, with its "extent" format, > has changed this. But maybe I'm wrong and the ext2fs library is able > to cope with all the differences. Well, as far as I understand it, ext4 has not changed the way the data blocks has stored. It has only changed the way an inode points to these data blocks (it has a much more efficient mechanism for keeping track of which data blocks belong to a file; especially for large files with many consecutive blocks on disk. This is where the ext2fs library is helping us, as it can point us directly to all the data blocks of a file, and takes care of reading the "meta-data" for an inode that points to those blocks by itself. This is why the patch (on Linux) no longer takes care of reading the indirect blocks, double indirect blocks and triple indirect blocks by itself. This is all done by the ext2fs lib. > > I have to admit that I (still) haven't had the time to look at ext4 yet, > so I really cannot comment further on the validity of this patch. > > So if somebody else here can give this a try it would be great. > > Stelian. --- Gertjan |
From: Stelian P. <st...@po...> - 2009-05-28 21:22:40
|
Hi Gertjan, On Tue, May 26, 2009 at 12:50:14PM -0700, Gertjan van Wingerde wrote: > I've created a patch for dump to properly dump ext4 filesystems under Linux. > It currently only works on Linux as it heavily depends on the ext2fs > library, which is only used on Linux for dumping regular files. First of all, thanks for your patch. I suppose this require a recent version of ext2fs libs ? However, I'm a bit puzzled because I thought ext4 was quite different than ext3, and your patch seems way too simple to make dump work on ext4. In particular, dump does raw seeks on the underlying disk device and reads fixed size blocks, and I thought ext4, with its "extent" format, has changed this. But maybe I'm wrong and the ext2fs library is able to cope with all the differences. I have to admit that I (still) haven't had the time to look at ext4 yet, so I really cannot comment further on the validity of this patch. So if somebody else here can give this a try it would be great. Stelian. -- Stelian Pop <st...@po...> |
From: Gertjan v. W. <gwi...@gm...> - 2009-05-26 19:51:23
|
Hi, I've created a patch for dump to properly dump ext4 filesystems under Linux. It currently only works on Linux as it heavily depends on the ext2fs library, which is only used on Linux for dumping regular files. --- Gertjan http://www.nabble.com/file/p23730083/dump_ext4.diff dump_ext4.diff -- View this message in context: http://www.nabble.com/-patch--Support-for-ext4-filesystems-under-linux.-tp23730083p23730083.html Sent from the Dump - Dev mailing list archive at Nabble.com. |
From: Jeff M. <jm...@re...> - 2009-03-24 13:04:47
|
Stelian Pop <st...@po...> writes: > On Mon, Mar 23, 2009 at 03:07:01PM -0400, Jeff Moyer wrote: > >> Here is a follow-up patch that should work everywhere. Comments and >> suggestions are welcome. I'd love to hear at least *some* feedback from >> the dump maintainer on this. > > Sorry for my silence on this. I have been rather busy lately and not had > much time for dump. > > But I have no objections on your patch, and you can consider it applied, > and part of the next version of dump, whenever I get the time to > do a new release (as a matter of fact, there are quite a few pending > changes in CVS so I might just force me to do a release sometime soon). > > Thanks for the patch ! Thanks for taking time to look it over, Stelian! Cheers, Jeff |
From: Stelian P. <st...@po...> - 2009-03-23 21:48:21
|
On Mon, Mar 23, 2009 at 03:07:01PM -0400, Jeff Moyer wrote: > Here is a follow-up patch that should work everywhere. Comments and > suggestions are welcome. I'd love to hear at least *some* feedback from > the dump maintainer on this. Sorry for my silence on this. I have been rather busy lately and not had much time for dump. But I have no objections on your patch, and you can consider it applied, and part of the next version of dump, whenever I get the time to do a new release (as a matter of fact, there are quite a few pending changes in CVS so I might just force me to do a release sometime soon). Thanks for the patch ! Stelian. -- Stelian Pop <st...@po...> |
From: Jeff M. <jm...@re...> - 2009-03-23 19:07:10
|
Jeff Moyer <jm...@re...> writes: > Marc Thomas <ma...@dr...> writes: > >> Hi Jeff, >> >> Patch applies cleanly to dump-0.4b41, but it doesn't then compile on >> my system (Slackware 12.2, kernel 2.6.27.7, CFQ scheduler): >> >> tape.c: In function 'fork_clone_io': >> tape.c:797: error: 'CLONE_IO' undeclared (first use in this function) >> tape.c:797: error: (Each undeclared identifier is reported only once >> tape.c:797: error: for each function it appears in.) >> >> I'm no programmer, but I did find that changing the include for >> <sched.h> to <linux/sched.h> fixed that. > > Hi, Marc. Thanks for testing, and for the suggested fix. There is > another problem with compiling the patch on systems that don't have the > CLONE_IO flag at all, and I need to address that. Here is a follow-up patch that should work everywhere. Comments and suggestions are welcome. I'd love to hear at least *some* feedback from the dump maintainer on this. Thanks, Jeff Index: dump/tape.c =================================================================== RCS file: /cvsroot/dump/dump/dump/tape.c,v retrieving revision 1.90 diff -u -p -r1.90 tape.c --- dump/tape.c 4 Jun 2008 19:27:48 -0000 1.90 +++ dump/tape.c 23 Mar 2009 19:05:00 -0000 @@ -187,6 +187,41 @@ static sigjmp_buf jmpbuf; /* where to ju static int gtperr = 0; #endif +/* + * Determine if we can use Linux' clone system call. If so, call it + * with the CLONE_IO flag so that all processes will share the same I/O + * context, allowing the I/O schedulers to make better scheduling decisions. + */ +#ifdef __linux__ +/* first, pull in the header files that define sys_clone and CLONE_IO */ +#include <syscall.h> +#define _GNU_SOURCE +#include <sched.h> +#include <unistd.h> +#undef _GNU_SOURCE + +/* If either is not present, fall back on the fork behaviour */ +#if ! defined(SYS_clone) || ! defined (CLONE_IO) +#define fork_clone_io fork +#else /* SYS_clone */ +/* CLONE_IO is available, determine which version of sys_clone to use */ +#include <linux/version.h> +/* + * Kernel 2.5.49 introduced two extra parameters to the clone system call. + * Neither is useful in our case, so this is easy to handle. + */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,49) +/* clone_flags, child_stack, parent_tidptr, child_tidptr */ +#define CLONE_ARGS SIGCHLD|CLONE_IO, 0, NULL, NULL +#else +#define CLONE_ARGS SIGCHLD|CLONE_IO, 0 +#endif /* LINUX_VERSION_CODE */ +pid_t fork_clone_io(void); +#endif /* SYS_clone */ +#else /* __linux__ not defined */ +#define fork_clone_io fork +#endif /* __linux__ */ + int alloctape(void) { @@ -755,6 +790,16 @@ rollforward(void) #endif } +#ifdef __linux__ +#if defined(SYS_clone) && defined(CLONE_IO) +pid_t +fork_clone_io(void) +{ + return syscall(SYS_clone, CLONE_ARGS); +} +#endif +#endif + /* * We implement taking and restoring checkpoints on the tape level. * When each tape is opened, a new process is created by forking; this @@ -801,7 +846,7 @@ restore_check_point: /* * All signals are inherited... */ - childpid = fork(); + childpid = fork_clone_io(); if (childpid < 0) { msg("Context save fork fails in parent %d\n", parentpid); Exit(X_ABORT); @@ -1017,7 +1062,7 @@ enslave(void) } if (socketpair(AF_UNIX, SOCK_STREAM, 0, cmd) < 0 || - (slaves[i].pid = fork()) < 0) + (slaves[i].pid = fork_clone_io()) < 0) quit("too many slaves, %d (recompile smaller): %s\n", i, strerror(errno)); |
From: hondza <mbd...@gm...> - 2009-03-14 20:00:14
|
Hello. Is it possible to detect and remove orphans within the 'x' mode (as opposed to 'r' mode, where it works out of the box)? Stelian's reply to a similar question says it should work: http://article.gmane.org/gmane.comp.archivers.dump.user/328 Yet it doesn't work for me. The files deleted between two incrementals remain after 'restore -x'. The source code agrees, as the initsymtable() function is always called with NULL and dumpsymtable() is never called for 'x', so it doesn't "remember". Is this feature planned? I think it would be handy to be able to restore a *subtree* to the exact state it was when the incremental backup was being done. Regards, -- hondza | GPG key: http://www.hondza.adslink.cz/key.asc Fingerprint: 31E7 EF56 7280 5C89 75E9 FF9D 010E 175F 7823 CF38 GPG/PGP encrypted/signed emails are welcome. |
From: Jeff M. <jm...@re...> - 2009-03-12 13:16:41
|
Marc Thomas <ma...@dr...> writes: > Hi Jeff, > > Patch applies cleanly to dump-0.4b41, but it doesn't then compile on > my system (Slackware 12.2, kernel 2.6.27.7, CFQ scheduler): > > tape.c: In function 'fork_clone_io': > tape.c:797: error: 'CLONE_IO' undeclared (first use in this function) > tape.c:797: error: (Each undeclared identifier is reported only once > tape.c:797: error: for each function it appears in.) > > I'm no programmer, but I did find that changing the include for > <sched.h> to <linux/sched.h> fixed that. Hi, Marc. Thanks for testing, and for the suggested fix. There is another problem with compiling the patch on systems that don't have the CLONE_IO flag at all, and I need to address that. Cheers, Jeff |
From: Marc T. <ma...@dr...> - 2009-03-12 01:26:51
|
Hi Jeff, Patch applies cleanly to dump-0.4b41, but it doesn't then compile on my system (Slackware 12.2, kernel 2.6.27.7, CFQ scheduler): tape.c: In function 'fork_clone_io': tape.c:797: error: 'CLONE_IO' undeclared (first use in this function) tape.c:797: error: (Each undeclared identifier is reported only once tape.c:797: error: for each function it appears in.) I'm no programmer, but I did find that changing the include for <sched.h> to <linux/sched.h> fixed that. Performance is indeed improved, in my case from 11801 kB/s to 13434 kB/s dumping an LVM snapshot of the ext3 root filesystem on md-raid (mirrored) to another LVM volume in the same md-raid (same physical spindles). I suspect the faster the destination device, the more apparent the performance improvement. Stelian - were there any objections to including this patch? BR, Marc On 17 Nov 08 Jeff Moyer wrote: > Hi, > > dump performs poorly when run under the CFQ I/O scheduler. The reason > for this is that the dump command interleaves I/O between two (or > three?) cooperating processes. This is about the worst case scenario > you can get for CFQ, as the I/O access pattern within each process is > sequential. Thus, CFQ will idle for a number of milliseconds waiting > for the current process to issue more I/O before switching to the next. > > Now, this behaviour can be changed with tuning. However, if the dump > command simply shared I/O contexts between cooperating processes, CFQ > could make more intelligent decisions about I/O scheduling. > > So, here are the numbers, running under 2.6.28-rc3. > > deadline 82241 kB/s > cfq 34143 kB/s > cfq-shared 82241 kB/s > > cfq-shared denotes that the dump utility was patched with the attached > patch to share I/O contexts. As you can see, with a very little bit of > code change, we can drastically increase the performance of dump under > CFQ (which is the default I/O scheduler used in a number of > distributions). > > For more information on the underlying problems, you can refer to the > following kernel discussion: > http://lkml.org/lkml/2008/11/9/133 > > Comments are appreciated. > > Cheers, > > Jeff > |
From: Jeff M. <jm...@re...> - 2008-11-17 22:19:26
|
Hi, dump performs poorly when run under the CFQ I/O scheduler. The reason for this is that the dump command interleaves I/O between two (or three?) cooperating processes. This is about the worst case scenario you can get for CFQ, as the I/O access pattern within each process is sequential. Thus, CFQ will idle for a number of milliseconds waiting for the current process to issue more I/O before switching to the next. Now, this behaviour can be changed with tuning. However, if the dump command simply shared I/O contexts between cooperating processes, CFQ could make more intelligent decisions about I/O scheduling. So, here are the numbers, running under 2.6.28-rc3. deadline 82241 kB/s cfq 34143 kB/s cfq-shared 82241 kB/s cfq-shared denotes that the dump utility was patched with the attached patch to share I/O contexts. As you can see, with a very little bit of code change, we can drastically increase the performance of dump under CFQ (which is the default I/O scheduler used in a number of distributions). For more information on the underlying problems, you can refer to the following kernel discussion: http://lkml.org/lkml/2008/11/9/133 Comments are appreciated. Cheers, Jeff diff -up ./dump/tape.c.orig ./dump/tape.c --- ./dump/tape.c.orig 2005-08-20 17:00:48.000000000 -0400 +++ ./dump/tape.c 2008-11-17 16:40:42.575792509 -0500 @@ -187,6 +187,40 @@ static sigjmp_buf jmpbuf; /* where to ju static int gtperr = 0; #endif +/* + * Determine if we can use Linux' clone system call. If so, call it + * with the CLONE_IO flag so that all processes will share the same I/O + * context, allowing the I/O schedulers to make better scheduling decisions. + */ +#ifdef __linux__ +#include <syscall.h> + +#ifndef SYS_clone +#define fork_clone_io fork +#else /* SYS_clone */ +#include <linux/version.h> + +/* + * Kernel 2.5.49 introduced two extra parameters to the clone system call. + * Neither is useful in our case, so this is easy to handle. + */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,49) +/* clone_flags, child_stack, parent_tidptr, child_tidptr */ +#define CLONE_ARGS SIGCHLD|CLONE_IO, 0, NULL, NULL +#else +#define CLONE_ARGS SIGCHLD|CLONE_IO, 0 +#endif /* LINUX_VERSION_CODE */ + +#define _GNU_SOURCE +#include <sched.h> +#include <unistd.h> +#undef _GNU_SOURCE +pid_t fork_clone_io(void); +#endif /* SYS_clone */ +#else /* __linux__ not defined */ +#define fork_clone_io fork +#endif /* __linux__ */ + int alloctape(void) { @@ -755,6 +789,16 @@ rollforward(void) #endif } +#ifdef __linux__ +#ifdef SYS_clone +pid_t +fork_clone_io(void) +{ + return syscall(SYS_clone, CLONE_ARGS); +} +#endif +#endif + /* * We implement taking and restoring checkpoints on the tape level. * When each tape is opened, a new process is created by forking; this @@ -801,7 +845,7 @@ restore_check_point: /* * All signals are inherited... */ - childpid = fork(); + childpid = fork_clone_io(); if (childpid < 0) { msg("Context save fork fails in parent %d\n", parentpid); Exit(X_ABORT); @@ -1017,7 +1061,7 @@ enslave(void) } if (socketpair(AF_UNIX, SOCK_STREAM, 0, cmd) < 0 || - (slaves[i].pid = fork()) < 0) + (slaves[i].pid = fork_clone_io()) < 0) quit("too many slaves, %d (recompile smaller): %s\n", i, strerror(errno)); |
From: Stelian P. <st...@po...> - 2008-08-20 15:18:42
|
Le mercredi 13 août 2008 à 18:59 +0400, Daneel Yaitskov a écrit : > Hi everybody! > > I would like to request will developers go to add the support other > filesystems sush as the reiserfs and the ext4. Ted Tso has said at 30 > June 2008 that after a few weeks the ext4 will become stable. The support of multiple filesystems in dump has been on the TODO list for a long time now. It is not so simple because the internal dump data (tape) format is heavily based on the ext2 internals, and converting the metadata from some other filesystem (say reiserfs) is bound to be difficult and lossy. However, ext4 support is different, because as an evolution of ext2/ext3, it may (emphasise on *may*) be much simpler to do. I'm not sure if e2fsprogs fully understands ext4 filesystems yet (dump does heavily use the libext2fs routines), and since ext4 doesn't use fixed block sizes anymore, but "[offset, length] pairs", something needs to be done to put the data in fixed size dump blocks. Unfortunately, I don't really have the time to do this ATM. But since you're seeking a way to contribute to dump (as I've seen in a later post), you're welcome to look at this feature, investigate the issues, and try cooking up a patch. Stelian. -- Stelian Pop <st...@po...> |
From: Daneel Y. <rtf...@gm...> - 2008-08-13 15:01:39
|
Hi everybody! I would like to request will developers go to add the support other filesystems sush as the reiserfs and the ext4. Ted Tso has said at 30 June 2008 that after a few weeks the ext4 will become stable. Daneel Yaitskov |
From: Stelian P. <st...@po...> - 2008-05-18 08:09:22
|
Le jeudi 15 mai 2008 à 14:55 -0400, Aaron S. Hawley a écrit : > This is perhaps the last patch I have. Applied. Thanks a lot for all your patches. Stelian. -- Stelian Pop <st...@po...> |
From: Aaron S. H. <aar...@gm...> - 2008-05-15 18:56:01
|
This is perhaps the last patch I have. It has various niggling things. It changes horizontal lines from 79 to 60 characters, adopts certain Bash extensions for command expansion, makes a few more whitespace changes, some small alterations of shell commands, and one wording change to user message. I also put the license in the two files's headers. I presume the license for these scripts are the same as everything else that is distributed with dump -- the license in the COPYRIGHT file at the root of the package. --- backup 14 May 2008 09:24:58 -0000 1.6 +++ backup 14 May 2008 22:32:56 -0000 @@ -1,21 +1,54 @@ #!/bin/bash + +### + # Copyright (C) 2001 Eugenio Diaz <ge...@ya...> + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: + # + # 1. Redistributions of source code must retain the above copyright + # notice, this list of conditions and the following disclaimer. + # 2. Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # 3. Neither the name of the University nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' + # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS + # OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # + ## -# -# This script will make a simple backup of the most critical partitions, -# using the "dump" facility, into the backup partition. -# -# Run the following to make a complete backup: -# -# $ su -c "backup full" -# -# Run the following to make an incremental backup: -# -# $ su -c "backup inc" -# -# Add "nodumpdate" to run a backup but not effect the backup state -# recorded in the file /var/lib/dumpdates and reported by dump -W: -# -# $ su -c "backup full nodumpdate" -# + # + # This script will make a simple backup of the most critical + # partitions, using the "dump" facility, into the backup partition. + # + # Run the following to make a complete backup: + # + # $ su -c "backup full" + # + # Run the following to make an incremental backup: + # + # $ su -c "backup inc" + # + # Add "nodumpdate" to run a backup but not effect the backup state + # recorded in the file /var/lib/dumpdates and reported by dump -W: + # + # $ su -c "backup full nodumpdate" + # + ## if [ "$2" = "nodumpdate" ]; then UPDATEDDATE="" @@ -32,7 +65,7 @@ BTYPE="inc" BACKUP="Incremental" else - echo "Usage: $0 full|inc [nodumpdate]" + echo "Usage: $0 full|inc [nodumpdate]" exit 1 fi @@ -50,12 +83,12 @@ # # Start -# +# echo -echo "#####################################################################" +echo "############################################################" -echo "Starting ${BACKUP} backup." +echo "Starting ${BACKUP} backup" -echo "#####################################################################" +echo "############################################################" echo @@ -74,24 +107,24 @@ echo "done." else echo "failure!" - echo " There were problems remounting $BACKUPPART in read-write mode!" + echo "There were problems remounting $BACKUPPART in read-write mode!" echo "Aborting ${BACKUP} System Dump Backup." echo "Aborted." - echo "-------------------------------------------------------------------------------" + echo "------------------------------------------------------------" exit 1 fi -echo -n "Checking backup partition for correct dir structure ... " +echo -n "Checking directory structure on backup partition ... " if [ -d $BACKUPPART/$BACKUPDIR -a -w $BACKUPPART/$BACKUPDIR ]; then echo "done." echo -n "Checking backup partition for available space ... " - SREQ=`for i in $FSTODUMP; do dump -$DLEVEL -S $i 2> /dev/null; done | awk '{x=x+$1/1048576} END {printf "%6.0f\n", x}'` + SREQ=$(for i in $FSTODUMP; do dump -$DLEVEL -S $i 2> /dev/null; done | awk '{x=x+$1/1048576} END {printf "%6.0f\n", x}') - SAVAILFREE=`df --block-size=1048576 | grep -Fe $BACKUPPART | awk '{printf "%6.0f\n", $4}'` + SAVAILFREE=$(df --block-size=1048576 | grep -Fe $BACKUPPART | awk '{printf "%6.0f\n", $4}') - SAVAILDEL=`du -s --block-size=1048576 $BACKUPPART/$BACKUPDIR/. | awk '{printf "%6.0f\n", $1}'` + SAVAILDEL=$(du -s --block-size=1048576 $BACKUPPART/$BACKUPDIR/. | awk '{printf "%6.0f\n", $1}') - SAVAIL=`expr $SAVAILFREE + $SAVAILDEL` + SAVAIL=$(( $SAVAILFREE + $SAVAILDEL )) - if [ `expr $SAVAIL - $SREQ` -gt "0" ]; then + if [ "$(( $SAVAIL - $SREQ ))" -gt "0" ]; then echo "done." echo "Available: $SAVAIL MB Required: $SREQ MB." else @@ -108,17 +141,17 @@ echo "There were problems remounting $BACKUPPART in read-only mode!" echo "Aborting ${BACKUP} System Dump Backup." echo "Aborted." - echo "-------------------------------------------------------------------------------" + echo "------------------------------------------------------------" exit 1 fi echo "Aborting ${BACKUP} System Dump Backup." echo "Aborted." - echo "-------------------------------------------------------------------------------" + echo "------------------------------------------------------------" exit 1 fi echo -n "Deleting old files ... " - if [ `ls -la $BACKUPPART/$BACKUPDIR/ | wc -l` -gt "3" ]; then + if [ "$(ls -la $BACKUPPART/$BACKUPDIR/ | wc -l)" -gt "3" ]; then rm -f $BACKUPPART/$BACKUPDIR/* &> /dev/null echo "done." else @@ -131,10 +164,10 @@ if [ "$FS" = "/" ]; then FSNAME="root" else - FSNAME=`echo $FS | tr / _ | cut -b 2-` + FSNAME="$(echo $FS | tr / _ | cut -b 2-)" fi sync - TODAY="`date +%a%Y%m%d`" + TODAY="$(date +%a%Y%m%d)" echo -n "Starting dump of $FSNAME ( $FS ) ... " if ( dump -$DLEVEL $UPDATEDDATE -z -M -s 27306 -f $BACKUPPART/$BACKUPDIR/$FSNAME.$BTYPE. -Q $BACKUPPART/$BACKUPDIR/$FSNAME.$BTYPE.qfa -L ${TODAY}file $FS &> $BACKUPPART/$BACKUPDIR/$FSNAME.log ) then echo "done." @@ -146,7 +179,7 @@ fi echo -n "Verifying dump of $FSNAME ( $FS ) ... " - echo "-------------------------------------------------------------------------------" >> $BACKUPPART/$BACKUPDIR/$FSNAME.log + echo "------------------------------------------------------------" >> $BACKUPPART/$BACKUPDIR/$FSNAME.log echo "Result of dump for $FSNAME ( $FS ):" >> $BACKUPPART/$BACKUPDIR/$FSNAME.log if ( restore -C -M -f $BACKUPPART/$BACKUPDIR/$FSNAME.$BTYPE. >> $BACKUPPART/$BACKUPDIR/$FSNAME.log 2>&1 ) then echo "done." @@ -155,8 +188,8 @@ echo "There were problems verifying the dump of $FSNAME ( $FS )." echo "Check log file $BACKUPPART/$BACKUPDIR/$FSNAME.log.gz for more info" fi - cat $BACKUPPART/$BACKUPDIR/$FSNAME.log |gzip >> $DUMPLOGARCH + gzip < $BACKUPPART/$BACKUPDIR/$FSNAME.log >> $DUMPLOGARCH - echo "-------------------------------------------------------------------------------" |gzip >> $DUMPLOGARCH + echo "------------------------------------------------------------" | gzip >> $DUMPLOGARCH done echo -n "Setting ownership and permissions of dump files ... " @@ -181,29 +214,29 @@ echo "There were problems remounting $BACKUPPART in read-only mode!" echo "Aborting ${BACKUP} System Dump Backup." echo "Aborted." - echo "-------------------------------------------------------------------------------" + echo "------------------------------------------------------------" exit 1 fi echo "Aborting ${BACKUP} System Dump Backup." echo "Aborted." - echo "-------------------------------------------------------------------------------" + echo "------------------------------------------------------------" exit 1 fi echo -n "Remounting backup partition read-only ... " -if ( mount $BACKUPPART -o remount,ro &> /dev/null ) then +if ( mount $BACKUPPART -o remount,ro &> /dev/null ) then echo "done." else echo "failure!" echo "There were problems remounting $BACKUPPART in read-only mode!" echo "Aborting ${BACKUP} System Dump Backup." echo "Aborted." - echo "-------------------------------------------------------------------------------" + echo "------------------------------------------------------------" exit 1 fi echo "### End of ${BACKUP} System Dump Backup ###" echo "Done." -echo "-------------------------------------------------------------------------------" +echo "------------------------------------------------------------" ## end of script Index: backup_rotate =================================================================== --- backup_rotate 5 May 2008 09:25:27 -0000 1.2 +++ backup_rotate 14 May 2008 22:32:56 -0000 @@ -1,11 +1,44 @@ #!/bin/bash + +### + # Copyright (C) 2001 Eugenio Diaz <ge...@ya...> + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: + # + # 1. Redistributions of source code must retain the above copyright + # notice, this list of conditions and the following disclaimer. + # 2. Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # 3. Neither the name of the University nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' + # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS + # OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # + ## -# -# This script will redirect the backup directory to implement desired backup -# schedules. -# -# We will use just a seven day format where we just move a link -# that represents the backup directory, to point to the day of the week. -# + # + # This script will redirect the backup directory to implement desired + # backup schedules. + # + # We will use just a seven day format where we just move a link that + # represents the backup directory, to point to the day of the week. + ## + # # Configuration Parameters @@ -28,7 +61,7 @@ echo "done." else echo "failure!" - echo " There were problems remounting $BACKUPPART in read-write mode!" + echo "There were problems remounting $BACKUPPART in read-write mode!" echo "Rotation not made!" echo "### End of Backup Rotation ###" exit 1 @@ -37,7 +70,7 @@ echo -n "Checking that no directory named \"$BACKUPDIR\" exists ... " if [ -d $BACKUPPART/$BACKUPDIR -a ! -L $BACKUPPART/$BACKUPDIR ]; then echo "failure!" - echo " Directory \"$BACKUPDIR\" exists. Can't create link!" + echo "Directory \"$BACKUPDIR\" exists. Can't create link!" echo "Rotation not made!" echo -n "Remounting backup partition read-only ... " @@ -45,7 +78,7 @@ echo "done." else echo "failure!" - echo " There were problems remounting $BACKUPPART in read-only mode!" + echo "There were problems remounting $BACKUPPART in read-only mode!" echo "### End of Backup Rotation ###" exit 1 fi @@ -62,7 +95,7 @@ echo "done." else echo "failure!" - echo " There were problems creating link!" + echo "There were problems creating link!" echo "Rotation not made!" echo -n "Remounting backup partition read-only ... " @@ -70,10 +103,10 @@ echo "done." else echo "failure!" - echo " There were problems remounting $BACKUPPART in read-only mode!" + echo "There were problems remounting $BACKUPPART in read-only mode!" echo "### End of Backup Rotation ###" exit 1 - fi + fi echo "### End of Backup Rotation ###" exit 1 fi @@ -83,8 +116,10 @@ echo "done." else echo "failure!" - echo " There were problems remounting $BACKUPPART in read-only mode!" + echo "There were problems remounting $BACKUPPART in read-only mode!" echo "### End of Backup Rotation ###" exit 1 fi echo "### End of Backup Rotation ###" + +## end of script On 5/14/08, Stelian Pop <st...@po...> wrote: > > Le mardi 13 mai 2008 à 20:58 -0400, Aaron S. Hawley a écrit : > > > This patch uses the quick-file-access (QFA) and label features of > > dump, and verifies each dump with `restore -C`. The patch also fixes > > some strange notes in the comment about restarting Web servers and > > making tar files of "database dirs". I've replaced it with notes on > > how to use the script. > > > Thanks, applied. > > Stelian. |
From: Stelian P. <st...@po...> - 2008-05-13 15:14:02
|
Le mercredi 07 mai 2008 à 00:44 -0400, Aaron S. Hawley a écrit : > This patch tries mounting instead of remounting should the latter > fail. Also included are either typo fixes or whitespace changes to > shell scriptlets that I was annoyed at. Thanks, applied. -- Stelian Pop <st...@po...> |
From: Aaron S. H. <aar...@gm...> - 2008-05-07 04:45:01
|
This patch tries mounting instead of remounting should the latter fail. Also included are either typo fixes or whitespace changes to shell scriptlets that I was annoyed at. On 5/5/08, Stelian Pop <st...@po...> wrote: > > Le vendredi 02 mai 2008 à 19:44 -0400, Aaron S. Hawley a écrit : > > > This patch uses environment variables for certain values if they're > > set to determine the backup partition, backup directory and the file > > systems to backup. > > > > Also included in the patch are whitespace changes to some output > > messages, and a typo fix. Use what you like. > > > Thanks, applied. > > Stelian. |
From: Stelian P. <st...@po...> - 2008-05-05 09:27:07
|
Le vendredi 02 mai 2008 à 19:44 -0400, Aaron S. Hawley a écrit : > This patch uses environment variables for certain values if they're > set to determine the backup partition, backup directory and the file > systems to backup. > > Also included in the patch are whitespace changes to some output > messages, and a typo fix. Use what you like. Thanks, applied. Stelian. -- Stelian Pop <st...@po...> |
From: Aaron S. H. <aar...@gm...> - 2008-05-02 23:44:36
|
This patch uses environment variables for certain values if they're set to determine the backup partition, backup directory and the file systems to backup. Also included in the patch are whitespace changes to some output messages, and a typo fix. Use what you like. I like the environment variable approach, because I store the settings in a file of the form: # /etc/dumprc -- configuration file for dump backups FSTODUMP="/ /var /home /boot" export FSTODUMP ## end-of-file and then use a cron job script of this form: # /etc/cron.daily/dump -- daily dump backup cron job . /etc/dumprc backup_rotate && nice -1 backup inc ## end-of-file The patch is also attached. /a Index: backup =================================================================== RCS file: /cvsroot/dump/dump/examples/cron_dump_to_disk/backup,v retrieving revision 1.3 diff -u -r1.3 backup --- backup 18 Apr 2008 08:42:47 -0000 1.3 +++ backup 2 May 2008 23:17:35 -0000 @@ -31,10 +31,10 @@ # Configuration Parameters # -BACKUPPART="/backup" +BACKUPPART=${BACKUPPART:-"/backup"} -BACKUPDIR="current" +BACKUPDIR=${BACKUPDIR:-"current"} DUMPLOGARCH="$BACKUPPART/backup.dump.log.gz" -FSTODUMP="/ /var /home /mnt/hdb1 /usr" +FSTODUMP=${FSTODUMP:-/ /var /home /mnt/hdb1 /usr} DUMPFILESMODE="0644" DUMPFILESOWN="root.root" @@ -81,17 +81,17 @@ if [ `expr $SAVAIL - $SREQ` -gt "0" ]; then echo "done." - echo " Available: $SAVAIL MB Required: $SREQ MB." + echo "Available: $SAVAIL MB Required: $SREQ MB." else echo "no enough space!" - echo " There is not enough space left in $BACKUPPART for the backup!" + echo "There is not enough space left in $BACKUPPART for the backup!" - echo " Available: $SAVAIL MB Required: $SREQ MB." + echo "Available: $SAVAIL MB Required: $SREQ MB." echo -n "Remounting backup partition read-only ... " if ( mount $BACKUPPART -o remount,ro &> /dev/null ) then echo "done." else echo "failure!" - echo " There were problems remounting $BACKUPPART in read-only mode!" + echo "There were problems remounting $BACKUPPART in read-only mode!" echo "Aborting ${BACKUP} System Dump Backup." echo "Aborted." echo "-------------------------------------------------------------------------------" @@ -120,14 +120,14 @@ FSNAME=`echo $FS|tr / _|cut -b 2-` fi sync - echo -n " Starting dump of $FSNAME ( $FS ) ... " + echo -n "Starting dump of $FSNAME ( $FS ) ... " if ( dump -$DLEVEL $UPDATEDDATE -z -M -s 27306 -f $BACKUPPART/$BACKUPDIR/$FSNAME.$BTYPE. $FS &> $BACKUPPART/$BACKUPDIR/$FSNAME.log ) then echo "done." else echo "problems!" - echo " There where problems with the dump of $FSNAME ( $FS )." + echo "There where problems with the dump of $FSNAME ( $FS )." - echo " Check logfile $BACKUPPART/$BACKUPDIR/$FSNAME.log for more info" + echo "Check logfile $BACKUPPART/$BACKUPDIR/$FSNAME.log for more info" - echo " Also check log archive file $DUMPLOGARCH." + echo "Also check log archive file $DUMPLOGARCH." fi cat $BACKUPPART/$BACKUPDIR/$FSNAME.log |gzip >> $DUMPLOGARCH echo "-------------------------------------------------------------------------------" |gzip >> $DUMPLOGARCH @@ -145,14 +145,14 @@ else echo "problems!" - echo " There are problems with the directory structure." + echo "There are problems with the directory structure." - echo " Check dirs: $BACKUPPART/$BACKUPDIR" + echo "Check dirs: $BACKUPPART/$BACKUPDIR" echo -n "Remounting backup partition read-only ... " if ( mount $BACKUPPART -o remount,ro &> /dev/null ) then echo "done." else echo "failure!" - echo " There were problems remounting $BACKUPPART in read-only mode!" + echo "There were problems remounting $BACKUPPART in read-only mode!" echo "Aborting ${BACKUP} System Dump Backup." echo "Aborted." echo "-------------------------------------------------------------------------------" @@ -169,13 +169,13 @@ echo "done." else echo "failure!" - echo " There were problems remounting $BACKUPPART in read-only mode!" + echo "There were problems remounting $BACKUPPART in read-only mode!" echo "Aborting ${BACKUP} System Dump Backup." echo "Aborted." echo "-------------------------------------------------------------------------------" exit 1 fi -echo "End of ${BACKUP} System Dump Backup." +echo "### End of ${BACKUP} System Dump Backup ###" echo "Done." echo "-------------------------------------------------------------------------------" Index: backup_rotate =================================================================== RCS file: /cvsroot/dump/dump/examples/cron_dump_to_disk/backup_rotate,v retrieving revision 1.1 diff -u -r1.1 backup_rotate --- backup_rotate 30 Nov 2001 10:12:40 -0000 1.1 +++ backup_rotate 2 May 2008 23:17:35 -0000 @@ -3,7 +3,7 @@ # This script will redirect the backup directory to implement desired backup # schedules. # -# Currently we will use just a seven day format were we just move a link +# We will use just a seven day format where we just move a link # that represents the backup directory, to point to the day of the week. # @@ -17,8 +17,8 @@ REALDIR=`date +%A` fi -BACKUPPART="/backup" +BACKUPPART=${BACKUPPART:-"/backup"} -BACKUPDIR="current" +BACKUPDIR=${BACKUPDIR:-"current"} echo "### Start of Backup Rotation ###" echo "Using backup partition: $BACKUPPART" On 4/18/08, Stelian Pop <st...@po...> wrote: > > Le vendredi 18 avril 2008 à 00:23 -0400, Aaron S. Hawley a écrit : > > > I have some patches for the cron_dump_to_disk example shipped with > > dump. I submitted the first as a Sourceforge tracker item. Stelian > > suggest I send the rest to this mailing list. > > > > [...] > > Applied, thanks. > > > -- > Stelian Pop <st...@po...> > > -- Modern man suffers from a kind of poverty of the spirit which stands in glaring contrast to his scientific and technological abundance. We've learned to fly the air like birds, we've learned to swim the seas as fish, yet we haven't learned to walk the earth as brothers and sisters. -- Dr. Martin King |
From: Stelian P. <st...@po...> - 2008-04-18 08:43:24
|
Le vendredi 18 avril 2008 à 00:23 -0400, Aaron S. Hawley a écrit : > I have some patches for the cron_dump_to_disk example shipped with > dump. I submitted the first as a Sourceforge tracker item. Stelian > suggest I send the rest to this mailing list. > > Like the first patch , this only only changes the output of the > command. It mentions "Full backup", when in reality the script runs > incremental backups, too. [...] Applied, thanks. -- Stelian Pop <st...@po...> |
From: Aaron S. H. <aar...@gm...> - 2008-04-18 04:23:21
|
I have some patches for the cron_dump_to_disk example shipped with dump. I submitted the first as a Sourceforge tracker item. Stelian suggest I send the rest to this mailing list. Like the first patch , this only only changes the output of the command. It mentions "Full backup", when in reality the script runs incremental backups, too. --- backup.~1.2.~ 2008-04-17 23:32:13.000000000 -0400 +++ backup 2008-04-17 23:33:08.000000000 -0400 @@ -16,9 +16,11 @@ if [ "$1" = "full" ]; then DLEVEL="0" BTYPE="full" + BACKUP="Full" elif [ "$1" = "inc" ]; then DLEVEL="1" BTYPE="inc" + BACKUP="Incremental" else echo "Usage: $0 full|inc [nodumpdate]" exit 1 @@ -42,16 +44,16 @@ echo echo "#####################################################################" -echo "Starting backup." +echo "Starting ${BACKUP} backup." echo "#####################################################################" echo # -# Make full system backup +# Make system backup # -echo "### Full System Dump Backup ###" +echo "### ${BACKUP} System Dump Backup ###" echo "Using backup partition: $BACKUPPART" echo "Filesystems to dump: $FSTODUMP" @@ -61,8 +63,8 @@ else echo "failure!" echo " There were problems remounting $BACKUPPART in read-write mode!" - echo "Aborting Full System Dump Backup." - echo "Aborted, done." + echo "Aborting ${BACKUP} System Dump Backup." + echo "Aborted." echo "-------------------------------------------------------------------------------" exit 1 fi @@ -90,13 +92,13 @@ else echo "failure!" echo " There were problems remounting $BACKUPPART in read-only mode!" - echo "Aborting Full System Dump Backup." - echo "Aborted, done." + echo "Aborting ${BACKUP} System Dump Backup." + echo "Aborted." echo "-------------------------------------------------------------------------------" exit 1 fi - echo "Aborting Full System Dump Backup." - echo "Aborted, done." + echo "Aborting ${BACKUP} System Dump Backup." + echo "Aborted." echo "-------------------------------------------------------------------------------" exit 1 fi @@ -151,13 +153,13 @@ else echo "failure!" echo " There were problems remounting $BACKUPPART in read-only mode!" - echo "Aborting Full System Dump Backup." - echo "Aborted, done." + echo "Aborting ${BACKUP} System Dump Backup." + echo "Aborted." echo "-------------------------------------------------------------------------------" exit 1 fi - echo "Aborting Full System Dump Backup." - echo "Aborted, done." + echo "Aborting ${BACKUP} System Dump Backup." + echo "Aborted." echo "-------------------------------------------------------------------------------" exit 1 fi @@ -168,12 +170,12 @@ else echo "failure!" echo " There were problems remounting $BACKUPPART in read-only mode!" - echo "Aborting Full System Dump Backup." - echo "Aborted, done." + echo "Aborting ${BACKUP} System Dump Backup." + echo "Aborted." echo "-------------------------------------------------------------------------------" exit 1 fi -echo "End of Full System Dump Backup." +echo "End of ${BACKUP} System Dump Backup." echo "Done." echo "-------------------------------------------------------------------------------" |
From: Stelian P. <st...@po...> - 2006-07-10 08:14:02
|
Le lundi 10 juillet 2006 =E0 08:53 +0300, Ivan Lezhnev, Jr. a =E9crit : > Hello Stelian. >=20 > Is there anything to be done to reduce spam messages on this mailing li= st? > I just felt like saying, it's pretty much of it in here :\. Indeed. I do have personal spam filters on the incoming mail, so I don't see much of this spam originating from dump's mailing lists. But I've seen some notices from Sourceforge's mailman telling me that several users were automatically unsubscribed because they were rejecting mails (spams, of course). So for now I've put both mailing lists in member-only posting mode, this should hopefully eliminate all the spam. Thanks for the heads-up. Stelian. --=20 Stelian Pop <st...@po...> |
From: <rin...@ex...> - 2006-06-27 16:41:35
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◇━━━━━━━━◇ 全て無料ですので、安心してご利用頂けます。 ┃無料でお友達探し┃ きっかけは、1通のメールから…。 ◇━━━━━━━━◇ [ お友達は、すぐそこにいたんです ] ⇒ http://www.lv-chat.com/?mm ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ もう夏ですね〜。 心も体も温かくなるご近所さんを探しませんか? 男女とも無料でご利用頂けますのでお気軽にご参加下さい。 ___________________________________ ▼よくある質問  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ◇今年で53になるのですが年齢的に厳しくないですか? 大丈夫★只今男性の平均年齢約41歳女性の平均は約39歳となっており 最高齢は 男性75歳女性67歳となります。第二の人生志望者も相当多い のが現実です。 ◇どんな人がいるのですか? もう一度トキメキがほしいと強く思っている方・空いた時間にちょぴり遊びたい方 仕事帰りに一緒に遊べる友達を探している方・きっかけにしたい方が大半です。 ◇本当に無料なの?あとから料金の請求とかって来ませんか? 全て無料です。不当な請求は一切ございませんのでご安心ください。 ⇒ http://www.lv-chat.com/?mm ■特集:エッチな無料コミュニティはこちら ⇒ http://www.friends-c.com/?g2 ━注意事項━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 本メールマガジン掲載に関する情報に関しては一切責任を負いません。 掲載情報の利用に際しては、各人が自分の責任で行なって下さい。 いかなる損害に関しても一切責任を負いかねますのでご了承下さい。 情報は必ずご自分でご確認ください。 掲載された記事の一部または全部を許可なく転載することを禁止致します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━【購読解除について】━━━━━━━━━━━━━━━━━━━━━━━━ ※ 購読解除方法 万が一18歳未満の方に届いた場合や、登録解除をご希望の方は お手数ですが下記までお願い致します。 rel...@ya... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |