rsync na execução home dir causa execução infinita

0

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

    
por MirtheN 17.11.2015 / 15:07

2 respostas

0

Verifique se nenhuma das pastas em /long/backup/folder/name está montada em /home/mirthen . Você pode estar preso em um loop recursivo!

    
por 17.11.2015 / 15:46
0

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).

    
por 19.11.2015 / 14:55

Tags