What exactly will --delete-excluded do for rsync?
I use rsync with great pleasure for backing up my servers, although I do have a question about the --delete-excluded
parameter.
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --rsh=/usr/bin/ssh root@server01:/etc /.snapshot/hourly.0/server01
From man rsync
:
--delete-excluded also delete excluded files from dest dirs
To me, a non English native, this means that rsync will delete excluded directories from the actual destination directory on the remote server, so if I have /home/backup
and /home/settings
in my exclude-folders, those folders would actually be removed from the remote server,.
From several other resources it seems that it will delete the files from the local backup folder in order to save space. For example you can create small back-ups on the server itself and exclude this data, so you won't waste storage space.
It is vital for me though that rsync will do it's job only one-way as people say it's meant to work, I do not want to take any risks in having software that deletes files/directories on the remote server.
Your interpretation is correct. If you have excluded files or directories from being transferred, --delete-excluded will remove them from the destination side (this does not have to be the "remote server", you can use rsync
to copy from a server to the local computer) if it finds them there. For instance, if you use --exclude=*.o --delete-excluded
, then if rsync finds any files ending in .o on the destination side, it will remove them whether they exist in the source directory or not.