Quando você não usa rsync -av
?
tl; dr : quando você não quiser o comportamento fornecido por -a
ou por -v
, não use essas opções!
Além disso, Gordon Davisson aponta outra exceção:
if you aren't running it as root (on the destination system), or the user and group IDs don't match between source or target systems, you may not want to (/be able to) preserve users, groups, and device and special files.
E o xenoid enfatiza a adição ao -av
:
There are also case where you can add to
-av
,-av --delete
will replace the additive backup by a mirroring (use with care (ie, try first with-n|--dry-run
) otherwise you backup can be deleted if you match the wrong directories.
-v
(aumenta a verbosidade)
Fácil primeiro: -v
. A partir do manual do rsync :
-v, --verbose increase verbosity
Este é bastante simples de ver o efeito de. Se você não estiver preocupado com as informações de transferência, omita-as.
-a
(modo de arquivo)
Direito, modo archive
. Para isso, vale a pena ler O que é o modo de arquivo no rsync? sobre a falha do servidor.
A boa resposta de Andrew lista os modos que inclui:
-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
e exclui :
-H, --hard-links preserve hard links
-A, --acls preserve ACLs (implies -p)
-X, --xattrs preserve extended attributes
Como ele observa, é perfeito para backups ; porque se você estiver fazendo o backup, você quer fazer uma cópia exata dos dados que está fazendo o backup, junto com informações sobre os arquivos.
Por que você não quer usar -a
, então?
De um modo geral, se você estiver em uma situação em que não deseja -a
, você saberá. Talvez:
- você deseja copiar arquivos de um diretório, mas não seus subdiretórios (portanto, não
-r
) - você deseja copiar links simbólicos são arquivos reais =, porque seu sistema de arquivos de destino não suporta links simbólicos (sem
-l
) - você não está preocupado com permissões (não
-p
) - você deseja atualizar os horários de modificação (sem
-t
)
O último é provavelmente o caso de uso mais óbvio.