Prevent --max-delete from deleting any files?

Marco Moreno mmoreno at pobox.com
Thu Jun 17 09:14:22 MDT 2010


Haven't heard anything...any thoughts on this?

Marco


On Jun 2, 2010, at 1:30 PM, Marco Moreno wrote:

> Is there a way to prevent rsync from deleting any files if --max-delete is exceeded?
> I want to avoid having my hourly cron job inadvertently destroy my backup a chunk 
> at a time.  By morning, the damage would already be done.  Ideally, it should just
> stop and not sync or delete anything since something is horribly wrong.
> 
> The only way I could see to do it is by running rsync twice - something like:
> 
>  rsync --dry-run -a --delete --max-delete=1000 /foo /bar && rsync -a --delete --max-delete=1000 /foo /bar
> 
> 
> I found bug 2408 (https://bugzilla.samba.org/show_bug.cgi?id=2408) that described my concerns:
> 
>> If you specify the --max-delete option to rsync and there are more files to be
>> deleted than the specified number, all the deletes upto that number are normally
>> performed and other files that would otherwise be deleted are now silently
>> ignored. Also, if more files are scheduled for removal, no error code is returned.
>> 
>> The --max-delete option is especially usefull if by some misconfiguration a
>> great number of files would be deleted. If it is a job that runs daily, all the
>> files would be silently deleted after a few days rather than all at once more or
>> less defeating the purpose.
>> 
>> What I would like to see would be a test that would exit rsync with an error
>> code if too many deletes would take without actually deleting any files.
>> Returning an error code is the least that should be done IMHO.
> 
> 
> The response was:
> 
>> ------- Comment #4 From Wayne Davison 2005-03-06 00:02:57 CST [reply] -------
>> I have updated the source in CVS so that it complains at the end of the run and
>> returns a new status code (25) when the max-delete value is exceeded.  It also
>> mentions how many deletions were skipped.  This will let you run rsync with
>> --dry-run --max-delete=1 to see a count of the number of deleted files minus
>> one. I don't have any plans to make rsync check the delete count automatically
>> before starting the deletions.
> 
> 
> While adding the return code was a big improvement, is there any possibility of 
> revisiting this issue to prevent deletions altogether if something is wrong?  
> Perhaps a new option such as --max-safe-delete or something?  While I understand 
> that it is inefficient to count up all the files in advance before doing the 
> deletions, it cannot be as inefficient as having to run rsync twice.
> 
> Thoughts?
> 
> Regards, 
> 
> Marco Moreno
> 
> -- 
> Please use reply-all for most replies to avoid omitting the mailing list.
> To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
> Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html



More information about the rsync mailing list