rsync: falha na gravação - Não há espaço no dispositivo (28)

4

Eu quero rsync uma pasta de um servidor para outro.

Mas a sincronização de rsync falha:

$ rsync -zr --compress-level=9 --delete /var/www/mywebsite/current/web/js [email protected]:/srv/data2_http
rsync: write failed on "/srv/data2_http/js/8814c77.js": No space left on device (28)
rsync error: error in file IO (code 11) at receiver.c(322) [receiver=3.0.9]
rsync: connection unexpectedly closed (21747 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]

Mas eu tenho espaço suficiente!

$ du -h /var/www/mywebsite/current/web/js
2.4M    /var/www/mywebsite/current/web/js


df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          5.0G  3.0G  1.8G  64% /
/dev/root       5.0G  3.0G  1.8G  64% /
devtmpfs        2.0G     0  2.0G   0% /dev
tmpfs           395M  132K  395M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            24K   16K  8.0K  67% /var/gandi
tmpfs            24K   16K  8.0K  67% /var/gandi
tmpfs           789M     0  789M   0% /run/shm
/dev/xvdb       202G  168G   25G  88% /srv/data2_http

df -i
Filesystem       Inodes   IUsed    IFree IUse% Mounted on
rootfs           327680   67666   260014   21% /
/dev/root        327680   67666   260014   21% /
devtmpfs         504593     319   504274    1% /dev
tmpfs            504848     224   504624    1% /run
tmpfs            504848       2   504846    1% /run/lock
tmpfs            504848       5   504843    1% /var/gandi
tmpfs            504848       5   504843    1% /var/gandi
tmpfs            504848       2   504846    1% /run/shm
/dev/xvdb      13434880 2152940 11281940   17% /srv/data2_http
    
por Bouffe 05.05.2015 / 10:52

4 respostas

0

Ligamos para nosso provedor de hospedagem, fazemos alguns testes enquanto o servidor está ativo. Mas nada.

Por fim, acabei de reinicializar o servidor e agora funciona ... Eu não fiz isso antes porque é um servidor de produção

    
por 06.05.2015 / 12:04
7

rsync transfere o conteúdo para um arquivo temporário, na pasta de destino, primeiro; se tiver êxito, ele renomeia esse arquivo temporário para se tornar o arquivo de destino. se a transferência falhar, exclui o arquivo temporário. um arquivo de 2 GB teria preenchido seu espaço de destino, depois que rsync apagasse o espaço disponível novamente. então, rsync pode enganar sua investigação do problema de espaço .

    
por 05.05.2015 / 11:51
3

Eu tive o mesmo problema, o diretório de destino tinha espaço suficiente, mas eu recebia "sem espaço no dispositivo". Acontece que o rsync copia o arquivo para algum outro lugar primeiro, depois o move para o diretório de destino. Para alterar esse comportamento, use --inplace .

De acordo com o link "Esta opção altera a forma como o rsync transfere um arquivo quando seus dados precisam ser atualizados: em vez do método padrão de criar uma nova cópia do arquivo e colocá-lo no lugar quando ele estiver concluído, o rsync gravará os dados atualizados diretamente no destino arquivo. "

 rsync --inplace source destination
    
por 12.07.2017 / 18:31
1

1) Verifique o espaço de destino.

ssh [email protected] 
df -h /srv/data2_http

2) tente a opção --inplace do rsync. Ele evita usar mais espaço, mas torna os arquivos de destino inconsistentes durante a transferência.

    
por 05.05.2015 / 12:10

Tags