[ About | Licence | Contacts ]
Written by Oleksandr Gavenko (AKA gavenkoa), compiled on 2024-04-01 from rev 052223c22317.

Backuping and restoring

rsync

Emulate file transfer with -n or by longer form --dry-run.

Use FS with hardlink with cp -l:

$ cp -al  /backup/old /backup/new
$ rsync -a --delete --progress /data/ /backup/new/

Use FS hardlink exclusively with rsync:

$ rsync -a --delete --progress --link-dest=../previous /data/ /backup/new/

Note

--link-dest accepts a relative path, it is relative to the destination directory.

Note

Cygwin rsync implementation can use NTFS hard links with --link-dest option. Check it with:

cmd> fsutil hardlink list c:\backup\new\file.txt

Avoid carrying permissions and other attributes with:

--no-p --no-o --no-g --no-A --no-X -O -J

To show current progress:

-v  --progress

To copy over ssh:

$ rsync -n -e 'ssh -l $RUSER' -r  /archive/ $RHOST:/archive/
$ rsync -n -e 'ssh -l $RUSER' -r  /archive/ $RUSER@$RHOST:/archive/

To compare only based on file size use --size-only. In that case -t option will preserve modification time.

To sync files only based on timestamps (if attributes have no sence, like on Windows OS) complete invocation cn look like (final slash in path is significant):

$ rsync -r -t --no-p --no-o --no-g --no-A --no-X -O -J --delete --progress -v  $FROM/ $TO/