Rsync: Difference between revisions
No edit summary |
No edit summary |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{Lowercase title}} | |||
See [[Archwiki:rsync]] and [https://linux.die.net/man/1/rsync rsync(1) - Linux man page] | See [[Archwiki:rsync]] and [https://linux.die.net/man/1/rsync rsync(1) - Linux man page] | ||
==Getting Started== | ==Getting Started== | ||
<pre> | <pre> | ||
rsync - | rsync -ah <src> <dst> --info=progress2 | ||
</pre> | </pre> | ||
;Flags | ;Flags | ||
* <code>-a</code> archive mode (recursive | * <code>-a</code> archive mode (recursive, preserves symlinks, permissions, times, group, owner, devices) | ||
** Excludes hard links (<code>-H</code>), ACLs (<code>-A</code>), and extended attributes (<code>-X</code>) | |||
* <code>--no-i-r</code> or <code>--no-inc-recursive</code> scans all files at the beginning rather than during the transfer | * <code>--no-i-r</code> or <code>--no-inc-recursive</code> scans all files at the beginning rather than during the transfer | ||
* <code>--progress</code> shows per-file progress | * <code>--progress</code> shows per-file progress | ||
| Line 22: | Line 24: | ||
EXCLUSIONS='--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"}' | EXCLUSIONS='--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"}' | ||
sudo rsync - | sudo rsync -aAXh ${EXCLUSIONS} / "${TARGET_FOLDER}" --info=progress2 | ||
</pre> | </pre> | ||
| Line 40: | Line 42: | ||
You can also use <code>--exclude-from</code> and point to a text file list of exclusions. | You can also use <code>--exclude-from</code> and point to a text file list of exclusions. | ||
==Delete== | |||
[https://superuser.com/questions/156664/what-are-the-differences-between-the-rsync-delete-options StackOverflow Differences between rsync delete] | |||
Be very careful with deleting. | |||
By default rsync only deletes files on the target which have the same name as files on the source. | |||
Below are the relevent flags for deleting files on the target and the source. | |||
The following two options deletes extraneous files on the target. | |||
* <code>--delete</code> Delete files on the target directory which are not in the source. | |||
* <code>--delete-excluded</code> Delete files on the target directory which are excluded in the transfer. | |||
The following options concern replacing files on the target with the same name. | |||
* <code>--delete-before</code> Deletes files on the target before new replacement is copied over. (default) | |||
* <code>--delete-during</code> Deletes files on the target as replacement files with the same name are being copied over. | |||
* <code>--del</code> Alias for <code>--delete-during</code> | |||
* <code>--delete-delay</code> Marks files for deletion during transfer. Waits until the transfer is complete to delete files. | |||
* <code>--delete-after</code> Checks for files and deletes files after transfer after the transfer. | |||
The following option deletes files from the source directory. | |||
* <code>--remove-source-files</code> Deletes files which have been synced. | |||