--copy-links and multi-process
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
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
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?
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?
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
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
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
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
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
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