Rsync command: Difference between revisions

From WikiMLT
Line 11: Line 11:
rsync -rv --delete --append ./music/ /media/<user>/sd-card
rsync -rv --delete --append ./music/ /media/<user>/sd-card
</syntaxhighlight>
</syntaxhighlight>
== Recursive copy of a directory over SSH ==
== Recursive copy of a directory over SSH ==
<syntaxhighlight lang="shell" line="1" class="mlw-shell-gray">
<syntaxhighlight lang="shell" line="1" class="mlw-shell-gray">
Line 21: Line 20:
* <code>-z</code> : compress file data,
* <code>-z</code> : compress file data,
* <code>-h</code> : human-readable, output numbers in a human-readable format.
* <code>-h</code> : human-readable, output numbers in a human-readable format.
== Copy a file from a remote instance over SSH ==
== Copy a file from a remote instance over SSH ==
<syntaxhighlight lang="shell" line="1">
<syntaxhighlight lang="shell" line="1">
Line 27: Line 25:
<remote-host>:"/home/<remote-use>/backups/backup-${TODAY}.tgz" "$BACKUP_DIR"
<remote-host>:"/home/<remote-use>/backups/backup-${TODAY}.tgz" "$BACKUP_DIR"
</syntaxhighlight>
</syntaxhighlight>
* The <code>ssh</code> options are appropriate for automated solutions like <code>cron</code> jobs.
* The <code>ssh</code> options are appropriate for automated solutions like <code>cron</code> jobs.
== References ==
== References ==
 
* GitHub: <code>metalevel-tech/simple-backup-solutions/'''[https://github.com/metalevel-tech/simple-backup-solutions/blob/master/incremental_backup Implement incremental backup with Rsync]'''</code>.
* GitHub <code>metalevel-tech/simple-backup-solutions/'''[https://github.com/metalevel-tech/simple-backup-solutions/blob/master/incremental_backup Implement incremental backup with Rsync]'''</code>.
* Tecmint.com: [https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/ 10 Practical Examples of Rsync Command in Linux]
* Tecmint.com: [https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/ 10 Practical Examples of Rsync Command in Linux]
<noinclude>
<noinclude>
<div id="devStage">
<div id="devStage">

Revision as of 12:42, 4 August 2022

Copy a di­rec­to­ry

Re­cur­sive copy whole di­rec­to­ry – the di­rec­to­ry source-dir will be copied in­to the ex­ist­ing tar­get-dir:

rsync -r surce-dir target-dir/

Re­cur­sive copy a di­rec­to­ry con­tent – the con­tent of the source-dir will be copied as con­tent of the ex­ist­ing tar­get-dir:

rsync -r surce-dir/ target-dir/

Sync a di­rec­to­ry with an­oth­er

rsync -rv --delete --append ./music/ /media/<user>/sd-card

Re­cur­sive copy of a di­rec­to­ry over SSH

rsync --progress -vrazh <local-source> <ssh-host>:<remote-destination>
  • -v : ver­bose,
  • -r : copies da­ta re­cur­sive­ly (but don’t pre­serve time­stamps and per­mis­sion while trans­fer­ring da­ta,
  • -a : archive mode, archive mode al­lows copy­ing files re­cur­sive­ly and it al­so pre­serves sym­bol­ic links, file per­mis­sions, user and group own­er-ships and time­stamps,
  • -z : com­press file da­ta,
  • -h : hu­man-read­able, out­put num­bers in a hu­man-read­able for­mat.

Copy a file from a re­mote in­stance over SSH

rsync --progress -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \
<remote-host>:"/home/<remote-use>/backups/backup-${TODAY}.tgz" "$BACKUP_DIR"
  • The ssh op­tions are ap­pro­pri­ate for au­to­mat­ed so­lu­tions like cron jobs.

Ref­er­ences