Como removo um diretório em um sistema remoto que possui uma cota?

0

Eu tenho uma conta rsync.net que atingiu sua cota e estou tentando remover (rm -rf) um diretório para limpar o espaço. No entanto, todos os comandos remove que posso pensar em tentar (rm, truncar, encontrar -delete, etc.) me dão um erro relacionado a "Cota de disco excedida".

O único método que encontrei é scp em um arquivo vazio e sobrescrever todos os arquivos no diretório.

Existe alguma maneira melhor de abordar isso? Idealmente, um forro?

    
por mpr 15.01.2018 / 19:53

1 resposta

0

Você já tentou alguma coisa com fallocate ?

O seguinte terá o mesmo efeito líquido que truncate , mas usará uma sequência de chamada diferente e só funcionará em ext4 e XFS com arquivos que são múltiplos do tamanho do bloco do sistema de arquivos:

fallocate -c 0 -l 'wc -c <file>' <file>

E isso fará com que o arquivo seja um arquivo esparso do mesmo comprimento (aparente) que o arquivo original (mas só funciona em ext4, XFS, BTRFS e tmpfs):

fallocate -p 0 -l 'wc -c <file>' <file>

Além disso, o comando unlink pode funcionar (mas duvido que você tenha comentado que find -delete não funciona.

Com base no que você está dizendo, parece que eles estão usando o BTRFS para armazenamento de back-end, o que eles provavelmente não deveriam fazer se precisarem usar cotas (as cotas no BTRFS funcionam de maneira diferente do que na maioria das vezes) outros sistemas de arquivos, e tem alguns problemas bastante significativos de escalabilidade e usabilidade no momento).

    
por 15.01.2018 / 20:46