Since --remove-source-files does not remove directories, I issue the following commands to move files over ssh:
rsync -avh --progressavzh --remove-source-files --progress /source/* user@server:/target \ && find /source -type d -empty -delete I personally like the --progress feature, as I do this transfer manually. Remove it if you're using a script. I expect that it slows down transfers marginally. The find command's delete option only deletes empty directories – do not use rm -rf, as it may delete non-empty directories in case a file was not transferred. The -delete option turns on the -depth option so that empty directory trees are deleted from the "bottom" up.