Verifique se nenhuma das pastas em /long/backup/folder/name
está montada em /home/mirthen
. Você pode estar preso em um loop recursivo!
Eu tenho um conjunto de rsync para ser executado todas as manhãs às 5 da manhã.
sudo rsync -xrltDu --delete /home/mirthen/ /long/backup/folder/name/
Funciona na maior parte do tempo, no entanto, de vez em quando, trava e nunca termina quando os arquivos são alterados no sistema de origem. Por exemplo, .mozilla que contém minhas configurações do firefox e pode alterar arquivos, remover arquivos, adicionar novos arquivos durante a execução do rsync e criar sua lista de arquivos para cópia.
Geralmente, recebo mensagens sobre o desaparecimento de um arquivo, o que é bom, já que eram arquivos temporários na maioria dos casos. Nunca houve nenhum erro real que me levasse a saber porque o rsync nunca termina sua cópia / backup. Ele será executado, pode aparecer uma mensagem sobre um arquivo desaparecer, talvez mais de 10 dessas mensagens e, em seguida, apenas ficar lá ocupando um pouco de CPU / mem. Então, no dia seguinte, às 5h, recebo outro conjunto de processos de rsync novamente, e acontece exatamente o mesmo.
Eu executei um rsync completo usando o mesmo comando, e enquanto o sistema está fazendo todas as alterações de arquivo, e ele foi concluído muito bem. Apenas um bom por cento do tempo que vai ficar e não me dá uma pista do porquê.
Existe alguma maneira de fazê-lo para fazer os backups em um sistema ao vivo sem desligar, algo que está faltando. Eu tinha anteriormente configurado para fazer 'rsync -au --delete ....' no entanto movendo-o através da rede para um sistema com diferentes usuários que eu queria apenas ignorá-lo tentando manter as configurações de grupo / usuário.
Existe mais do que apenas a pasta mozilla que muda durante o rsync, muitos outros processos rodando a qualquer hora que mudam constantemente às 5 da manhã.
Se for importante, Linux Mint KDE 17.2 64bit. O destino é o Ubuntu Server 14.04 64bit
Verifique se nenhuma das pastas em /long/backup/folder/name
está montada em /home/mirthen
. Você pode estar preso em um loop recursivo!
A maneira correta de fazer backups em um sistema ativo é usar um instantâneo do sistema de arquivos (não quero dizer que o instantâneo seja o backup, quero dizer que ele pode ser usado para salvar os arquivos sem nada em movimento). Isso pode ser facilmente alcançado se você tiver o BTRFS, o LVM ou o ZFS, mas, por outro lado, não é prático.
Alternativamente, a melhor abordagem é simplesmente ignorar os arquivos que mudam com frequência - normalmente eles não contêm dados valiosos. Meu backup ignora deliberadamente o diretório de cache do meu navegador. rsync
tem --exclude
opções que podem conseguir isso com facilidade.
A melhor maneira de diagnosticar o que o rsync
está fazendo quando trava é anexar strace
:
strace -p 'pgrep rsync'
Dependendo do seu SO, você pode achar que isso dá permissão negada. No Linux, a solução usual para isso é ativar as permissões de depuração:
sudo sh -c "echo 0 > /proc/sys/kernel/yama/ptrace_scope"
Eu acho que a configuração só se aplica a novos processos que iniciam com a nova configuração, então você deve configurá-lo antes do início da tarefa rsync. A configuração não persistirá durante a reinicialização. Depois de descobrir o que está acontecendo, você deve definir ptrace_scope
de volta para 1
, pois é um risco de segurança ( 1
significa que você só pode anexar um depurador a processos filhos, como um depurador normalmente faria).
Tags rsync