Linux / Unix rsync: Delete Source File After Transfer

by on September 14, 2012 · 7 comments· LAST UPDATED September 14, 2012


I would like to move all desktop:~/Downloads/*.avi files from my desktop to laptop:~/Download/ using rsync. How do I delete source file after successful transfer is done using rsync command under BSD/Unix/Linux/Apple OS X operating systems?

Tutorial details
DifficultyEasy (rss)
Root privilegesNo
Estimated completion timeN/A

You need to pass the --remove-source-files option to the rsync command. It tells rsync to remove from the sending side the files (meaning non-directories) that are a part of the transfer and have been successfully duplicated on the receiving side. Do not pass the --delete option to rsync command as it delete extraneous files from destination directory.

Delete source after successful transfer using rsync

The syntax is:

rsync --remove-source-files -options /path/to/src/ /path/to/dest
rsync --remove-source-files -options /path/to/src/ computerB:/path/to/dest
rsync --remove-source-files -av /path/to/src/*.avi computerB:/path/to/dest

You can always perform a trial run with no changes made using --dry-run option:

rsync --dry-run --remove-source-files -azv /path/to/Download/*.avi laptop:~/Download

If you like output run the final command without --dry-run option:

rsync --remove-source-files -azv /path/to/Download/*.avi laptop:~/Download
Tweet itFacebook itG+ itDownload PDF versionFound an error/typo on this page?

{ 7 comments… read them below or add one }

1 Vijay September 14, 2012 at 5:17 am

This is one of the good aspect of rsync. Additionally, you can use this too --delete-after.


2 Dan March 14, 2014 at 6:33 am

--delete-after will remove the destination files after the transfer, not the source files.


3 Jalal Hajigholamali September 15, 2012 at 4:54 am

Very nice article….


4 Pankaj July 24, 2013 at 6:13 am

this is to delete source file what would be the command if we want to delete an old file from destination after rsync complete
my scenario is
rsync -e ‘ssh -p 22′ -Cavz user@remote_computer:/home/user/dbbackup /home/user/backup/
but this command rsync new file but also keep the old file in my home/user//backup/
I want to remove the old file just want newly copied file.

Please help.


5 Matt August 8, 2013 at 7:09 pm

actually its called –remove-sent-files now i think? Well my version was anyway


6 Bharat March 10, 2014 at 8:18 am

Please explain something about differential backup in rsync.


7 shgn January 11, 2015 at 5:59 am

Thank you. How to delete directory from source after sync beside –remove-source-files?


Leave a Comment

Tagged as: , , , , , ,

Previous Faq:

Next Faq: