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