Linux rsync: создание и перенос бекапа файлов и папок через ssh

Довольно часто возникает задача перенести сайт с одного сервера на другой. Обычно к обеим серверам есть ssh доступ. Эту задачу помогает эффективно решить утилита rsync.

Пример использования и описание используемых в примере опций ниже:

# rsync --progress -a -e "ssh" user@host:/var/www/vhosts /var/www/

–progress show progress during transfer
-a, –archive archive mode; equals -rlptgoD (no -H,-A,-X)
-e, –rsh=COMMAND specify the remote shell to use

-r, –recursive recurse into directories
-l, –links copy symlinks as symlinks
-p, –perms preserve permissions
-t, –times preserve modification times
-g, –group preserve group
-o, –owner preserve owner (super-user only)
-D same as –devices –specials
–devices preserve device files (super-user only)
–specials preserve special files

-H, –hard-links preserve hard links
-A, –acls preserve ACLs (implies -p)
-X, –xattrs preserve extended attributes