Verificar o diretório de destino após o erro "Não há espaço disponível no dispositivo"

1

Minha última tentativa de backup com rdiff-backup falhou devido a "[Errno 28] No space left on device" . E é verdade, de acordo com du , há 0 bytes disponíveis no dispositivo de backup.

Agora, quando tento reverter o diretório para o estado anterior à sessão mal sucedida simplesmente iniciando outra tentativa de backup, também recebo [Errno 28] . A próxima ideia que tive foi livrar-me de alguns incrementos de backup antigos para ganhar algum espaço em disco fresco.

Para ver a lista de incrementos de backup, invoquei rdiff-backup -l mirror_dir , o que resulta em

Fatal Error: Previous backup to mirror_dir seems to have failed.
Rerun rdiff-backup with --check-destination-dir option to revert directory to state before unsuccessful session.

Então eu fiz o que a mensagem me disse e corri rdiff-backup --check-destination-dir mirror_dir , o que novamente me deu o já famoso [Errno 28] . Parece que estou em um beco sem saída, onde não posso mais fazer qualquer coisa , nem mesmo liberar algum espaço em disco cuja ação parece ser a única solução para esse problema.

Existe uma saída para essa situação?

    
por zepp.lee 04.06.2015 / 23:17

1 resposta

0

Além de crescer o sistema de arquivos subjacente, não há um bom caminho, mas isso deve ser muito fácil - você tem muitas opções, incluindo obter uma unidade nova e maior e espelhar os dados (usando algo como cp -a ou rsync -a ). O incômodo com grandes volumes de backup é que isso pode levar muito tempo.

Se você é como eu e tem vários backups no mesmo sistema de arquivos, você pode encontrar espaço movendo um backup ou um arquivo grande em outro lugar temporariamente.

Para evitar esse problema, aprendi a deixar um arquivo .00DOORSTOP no meu diretório de backup que eu posso rm quando precisar do espaço. Atualmente, tenho o arquivo em 100MB, o que deve ser suficiente para permitir que eu crie mais espaço, se necessário - o rdiff-backup precisa de uma quantidade mínima de espaço para ser executado (provavelmente para criar arquivos temporários). Não pode ser um arquivo esparso, obviamente; Eu criei usando dd :

dd if=/dev/zero of=.00DORSTOOP bs=1M count=100
    
por 24.07.2017 / 15:05