rsync --delete
@sudodus so in order to use --delete i have to remove the original files from the original directory?
Yes, but, I would say that the intention is the other way around: It will help you delete a file in the target, when you have deleted the corresponding file in the source.
If you want to avoid copying some files (but keep them in the source), you can use --exclude
.
rsync
is not a general deleting tool. It is a copying tool to copy/update a target directory tree with new or updated files in the corresponding source directory tree. The --delete
option is 'only' to synchronize, that is to delete a file in the target, if the corresponding file in the source has been deleted.
See the detailed description in the manual man rsync
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before xfer, not during
--delete-during receiver deletes during the transfer
--delete-delay find deletions during, delete after
--delete-after receiver deletes after transfer, not during
--delete-excluded also delete excluded files from dest dirs
--ignore-missing-args ignore missing source args without error
--delete-missing-args delete missing source args from destination
--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 send the whole directory (e.g. "dir" or "dir/") without
using a wildcard for the directory’s contents (e.g. "dir/*")
since the wildcard is expanded by the shell and rsync thus gets
a request to transfer individual files, not the files’ parent
directory. Files that are excluded from the transfer are also
excluded from being deleted unless you use the --delete-excluded
option or mark the rules as only matching on the sending side
(see the include/exclude modifiers in the FILTER RULES section).
Prior to rsync 2.6.7, this option would have no effect unless
--recursive was enabled. Beginning with 2.6.7, deletions will
also occur when --dirs (-d) is enabled, but only for directories
whose contents are being copied.
This option can be dangerous if used incorrectly! It is a very
good idea to first try a run using the --dry-run option (-n) to
see what files are going to be deleted.
If the sending side detects any I/O errors, then the deletion of
any files at the destination will be automatically disabled.
This is to prevent temporary filesystem failures (such as NFS
errors) on the sending side from causing a massive deletion of
files on the destination. You can override this with the
--ignore-errors option.
The --delete option may be combined with one of the
--delete-WHEN options without conflict, as well as
--delete-excluded. However, if none of the --delete-WHEN
options are specified, rsync will choose the --delete-during
algorithm when talking to rsync 3.0.0 or newer, and the
--delete-before algorithm when talking to an older rsync. See
also --delete-delay and --delete-after.
rm
'remove' is the standard Linux tool to remove alias delete a file
Corresponding to your screenshot you can try
rm /tmp/backup/foto3.txt
or with a checkpoint, to comfirm,
rm -i /tmp/backup/foto3.txt