Eu tenho um diretório do qual desejo fazer backup. No entanto, um processo está constantemente gravando arquivos nesse diretório e não consigo encerrar esse processo, fazer o backup e reiniciar o processo. O backup deve ser feito enquanto este processo estiver em execução. Como posso usar os sinalizadores/opções da linha de comando rsync para fazer backup de um instantâneo deste diretório sem perder muitos dados? Existem tantas opções para rsync que estou confuso sobre quais combinações podem ser usadas para essa finalidade.
obrigado
Responder1
AFAICT rsync por si só não pode fazer isso.
Mude o sistema para usar LVM/ZFS/btrfs/outra coisa com snapshots, monte o snapshot e rsyncque. Em seguida, remova o instantâneo.
# Allow 1GB of changes to occur while the rsync occurs
lvcreate --snapshot my_vg/my_lv --size 1GB --name backup
mount /dev/my_vg/backup /mnt/temp
# ... rsync goes here ...
# e.g. rsync /mnt/temp/srv/my/path remote:/srv/backups/$( date -I )
umount /dev/my_vg/backup
lvremove my_vg/backup
Em uma VM, isso ocorre mais facilmente fora da própria VM e é específico do fornecedor - você precisaria observar isso para qualquer ambiente de VM que estivesse usando.