--copy-links and multi-process

2007-05-06 Thread Marco

Hi,
 I'm a user of rsync, rsync is VERY cool!

 I noticed that when I rsync somethings with option:--copy-links,
system will create two process that with the same name(different PR
value). Is that normal?

 Thank you!!

--
LinuX Power
--
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: rsync --delete-existing needed

2007-05-06 Thread Matt McCutchen

On 5/5/07, Matthias Schniedermeyer [EMAIL PROTECTED] wrote:

If you have subdirectories to be killed:
find . -type d -empty -exec rmdir {}\;
You have to run that a few times (One time for each deepth-level), and don't 
worry about the 'No such file or directory' warnings that it will spit for 
every deleted directory.
Find just can't enter the directory it had deleted a nanosecond ago.


Using the -depth option makes find visit each directory after visiting
its contents, which solves both the warnings and the need to run find
multiple times.

Matt
--
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: --copy-links and multi-process

2007-05-06 Thread Matt McCutchen

On 5/6/07, Marco [EMAIL PROTECTED] wrote:

  I noticed that when I rsync somethings with option:--copy-links,
system will create two process that with the same name(different PR
value). Is that normal?


By PR you mean the process ID, right?

Yes, it's normal to have two or even three processes.  An rsync run in
progress consists of three processes, one on the sending side (sender)
and two on the receiving side (generator and receiver).  On a local
copy, the process you start by hand becomes the sender and forks off
the generator.  On a remote copy, that process becomes sender (push)
or generator (pull) and invokes the generator (push) or sender (pull)
over the network.  Either way, the generator then forks off the
receiver.  Thus, the generator and receiver will always show the same
command line, and the sender will show the same command line as them
on a local copy.

Matt
--
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: Using --remove-source-files with backup?

2007-05-06 Thread Matt McCutchen

On 5/6/07, Matt McCutchen [EMAIL PROTECTED] wrote:

The attached patch to rsync 2.6.9 adds a --source-backup
option that backs up removed source files.


Oops, I made a typo in the addition to the man page.  The fixed patch
is attached.

Matt
This patch to rsync 2.6.9 adds a --source-backup option that backs up source
files removed due to --remove-source-files.  In my limited testing, it seems
to work.

-- Matt McCutchen [EMAIL PROTECTED]

--- old/options.c
+++ new/options.c
@@ -30,6 +30,7 @@ extern struct filter_list_struct filter_
 extern struct filter_list_struct server_filter_list;
 
 int make_backups = 0;
+int make_source_backups = 0;
 
 /**
  * If 1, send the whole file as literal data rather than trying to
@@ -324,6 +325,7 @@ void usage(enum logcode F)
   rprintf(F, --existing  skip creating new files on receiver\n);
   rprintf(F, --ignore-existing   skip updating files that already exist on receiver\n);
   rprintf(F, --remove-source-files   sender removes synchronized files (non-dirs)\n);
+  rprintf(F, --source-backup ... and backs up those files\n);
   rprintf(F, --del   an alias for --delete-during\n);
   rprintf(F, --deletedelete extraneous files from destination dirs\n);
   rprintf(F, --delete-before receiver deletes before transfer (default)\n);
@@ -517,6 +519,7 @@ static struct poptOption long_options[] 
   {itemize-changes, 'i', POPT_ARG_NONE,   0, 'i', 0, 0 },
   {bwlimit,  0,  POPT_ARG_INT,bwlimit, 0, 0, 0 },
   {backup,  'b', POPT_ARG_NONE,   make_backups, 0, 0, 0 },
+  {source-backup,0,  POPT_ARG_NONE,   make_source_backups, 0, 0, 0},
   {backup-dir,   0,  POPT_ARG_STRING, backup_dir, 0, 0, 0 },
   {suffix,   0,  POPT_ARG_STRING, backup_suffix, 0, 0, 0 },
   {list-only,0,  POPT_ARG_VAL,list_only, 2, 0, 0 },
@@ -1655,6 +1658,9 @@ void server_options(char **args,int *arg
 		args[ac++] = arg;
 	}
 
+	if (make_source_backups  !am_sender)
+		args[ac++] = --source-backup;
+
 	if (am_sender) {
 		if (delete_excluded)
 			args[ac++] = --delete-excluded;
--- old/rsync.yo
+++ new/rsync.yo
@@ -341,6 +341,7 @@ to the detailed description below for a 
  --existing  skip creating new files on receiver
  --ignore-existing   skip updating files that exist on receiver
  --remove-source-files   sender removes synchronized files (non-dir)
+ --source-backup ... and backs up those files
  --del   an alias for --delete-during
  --deletedelete extraneous files from dest dirs
  --delete-before receiver deletes before transfer (default)
@@ -929,6 +930,15 @@ dit(bf(--remove-source-files)) This tell
 side the files (meaning non-directories) that are a part of the transfer
 and have been successfully duplicated on the receiving side.
 
+dit(bf(--source-backup)) Makes the sender back up the source files it removes
+due to bf(--remove-source-files).  This option is independent of
+bf(--backup) but uses the same bf(--backup-dir) and bf(--suffix) settings,
+if any.  With bf(--backup-dir), each backup file is placed inside the backup
+dir according to the source file's full path from the working directory
+(source argument path + file-list path); if you want files placed according
+to the file-list path, you could either make appropriate symlinks or have the
+sender cd into the source directory so that the source argument is just ..
+
 dit(bf(--delete)) This tells rsync to delete extraneous files from the
 receiving side (ones that aren't on the sending side), but only for the
 directories that are being synchronized.  You must have asked rsync to
--- old/sender.c
+++ new/sender.c
@@ -37,6 +37,7 @@ extern int protocol_version;
 extern int remove_source_files;
 extern int updating_basis_file;
 extern int make_backups;
+extern int make_source_backups;
 extern int do_progress;
 extern int inplace;
 extern int batch_fd;
@@ -123,6 +124,7 @@ void successful_send(int ndx)
 	char fname[MAXPATHLEN];
 	struct file_struct *file;
 	unsigned int offset;
+	int result;
 
 	if (ndx  0 || ndx = the_file_list-count)
 		return;
@@ -135,7 +137,11 @@ void successful_send(int ndx)
 		offset = 0;
 	f_name(file, fname + offset);
 	if (remove_source_files) {
-		if (do_unlink(fname) == 0) {
+		if (make_source_backups)
+			result = !make_backup(fname);
+		else
+			result = do_unlink(fname);
+		if (result == 0) {
 			if (verbose  1)
 rprintf(FINFO, sender removed %s\n, fname + offset);
 		} else
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

RE: Using --remove-source-files with backup?

2007-05-06 Thread ScottZ

Many, Many Thanks for this Matt!

Seems to be working great so far.

Just one question though.

My initial tests with --backup-dir and -b had just the file being backed up to 
the specified dir.

With --source-backup the tree structure of the original source file is also 
being included in the --backup-dir directory.

example:
rsync --remove-source-files --source-backup --backup-dir=/arc -av 
/home/dir/file remotehost:/dir/file

results in the backup file being put in /arc/home/dir/file instead of /arc/file.

It isn't a problem for me as my tree structure is limited to just a couple of 
directories, but could be a problem for those with a deeper one.  

Or am I not specifying something correctly?

Again, many thanks for this.

-Scott


  Original Message 
 Subject: Re: Using --remove-source-files with backup?
 From: Matt McCutchen [EMAIL PROTECTED]
 Date: Sun, May 06, 2007 6:38 am
 To: ScottZ [EMAIL PROTECTED]
 Cc: rsync@lists.samba.org
 
 On 5/6/07, Matt McCutchen [EMAIL PROTECTED] wrote:
  The attached patch to rsync 2.6.9 adds a --source-backup
  option that backs up removed source files.
 
 Oops, I made a typo in the addition to the man page.  The fixed patch
 is attached.
 
 Matt
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Announce: rsync fadvise (cache dropping) patch updated

2007-05-06 Thread Tobias Oetiker
Hi List,

I have updated my rsync fadvise patch which stops rsync from
ousting all your other data from cache when running large jobs.

I have also written an article about the whole issue.

http://insights.oetiker.ch/linux/fadvise.html

cheers
tobi

-- 
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten
http://it.oetiker.ch [EMAIL PROTECTED] ++41 62 213 9902
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


CVS update: rsync/patches

2007-05-06 Thread Wayne Davison

Date:   Sun May  6 21:06:18 2007
Author: wayned

Update of /data/cvs/rsync/patches
In directory dp.samba.org:/tmp/cvs-serv5219

Modified Files:
drop-cache.diff 
Log Message:
Some improvements to the patch from Tobi.


Revisions:
drop-cache.diff 1.1 = 1.2

http://www.samba.org/cgi-bin/cvsweb/rsync/patches/drop-cache.diff?r1=1.1r2=1.2
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


CVS update: rsync/patches

2007-05-06 Thread Wayne Davison

Date:   Sun May  6 21:16:40 2007
Author: wayned

Update of /data/cvs/rsync/patches
In directory dp.samba.org:/tmp/cvs-serv16455

Added Files:
source-backup.diff 
Log Message:
Matt's --source-backup option.


Revisions:
source-backup.diff  NONE = 1.1

http://www.samba.org/cgi-bin/cvsweb/rsync/patches/source-backup.diff?rev=1.1
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


Re: CVS update: rsync/patches

2007-05-06 Thread Matt McCutchen

On 5/6/07, Wayne Davison [EMAIL PROTECTED] committed:

Matt's --source-backup option.


Thanks; that might be useful to people.  Two things you might want to
do to the patch in CVS:

- Remove the indication at the top that it is for rsync 2.6.9

- Change the man page description to account for backup files being
put at source argument + --backup-dir + file-list path instead of
--backup-dir + source argument + file-list path

Matt
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


CVS update: rsync/patches

2007-05-06 Thread Wayne Davison

Date:   Mon May  7 00:22:09 2007
Author: wayned

Update of /data/cvs/rsync/patches
In directory dp.samba.org:/tmp/cvs-serv27672

Modified Files:
source-backup.diff 
Log Message:
Tweaked the doc  opening description.


Revisions:
source-backup.diff  1.1 = 1.2

http://www.samba.org/cgi-bin/cvsweb/rsync/patches/source-backup.diff?r1=1.1r2=1.2
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs