Using rsync in dired24 Feb 2016
Here's a code snippet I've found long ago on the internet (the source seems to be no longer accessible), that has proven valuable time and time again:
;;;###autoload (defun ora-dired-rsync (dest) (interactive (list (expand-file-name (read-file-name "Rsync to:" (dired-dwim-target-directory))))) ;; store all selected files into "files" list (let ((files (dired-get-marked-files nil current-prefix-arg)) ;; the rsync command (tmtxt/rsync-command "rsync -arvz --progress ")) ;; add all selected file names as arguments ;; to the rsync command (dolist (file files) (setq tmtxt/rsync-command (concat tmtxt/rsync-command (shell-quote-argument file) " "))) ;; append the destination (setq tmtxt/rsync-command (concat tmtxt/rsync-command (shell-quote-argument dest))) ;; run the async shell command (async-shell-command tmtxt/rsync-command "*rsync*") ;; finally, switch to that window (other-window 1))) (define-key dired-mode-map "Y" 'ora-dired-rsync)
Lets you copy huge files and directories without Emacs freezing up and with convenient progress bar updates. That is all.
tmtxt, the mysterious hacker-person from whom the snippet
likely originated . Good luck with getting your blog back up.