Назад | Перейти на главную страницу

rsync: ошибка записи - на устройстве не осталось места (28)

Я хочу выполнить синхронизацию папки с одного сервера на другой.

Но синхронизация rsync не работает:

$ rsync -zr --compress-level=9 --delete /var/www/mywebsite/current/web/js login@192.168.1.4:/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]

Но мне достаточно места!

$ 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 сначала копирует файл в другое место, а затем перемещает его в целевой каталог. Чтобы изменить это поведение, используйте --inplace.

В соответствии с https://download.samba.org/pub/rsync/rsync.html "Этот параметр изменяет способ передачи файла с помощью rsync, когда его данные необходимо обновить: вместо стандартного метода создания новой копии файла и перемещения ее на место по завершении процесса rsync записывает обновленные данные непосредственно в место назначения. файл."

 rsync --inplace source destination

rsync сначала передает содержимое во временный файл в целевой папке; если это удается, он переименовывает этот временный файл в целевой файл. если передача не удалась, временный файл удаляется. файл размером 2 ГБ заполнил бы ваше целевое пространство, а затем после rsync удаляет его, пространство снова становится доступным. так, rsync может обмануть ваше расследование космической проблемы.

1) Проверьте место назначения.

ssh login@192.168.1.4 
df -h /srv/data2_http

2) попробуйте параметр --inplace команды rsync. Это предотвращает использование большего количества места, но делает файлы назначения несовместимыми во время передачи.

Мы позвонили нашему хостинг-провайдеру, провели несколько тестов, пока сервер работает. Но ничего.

Наконец, я только что перезагрузил сервер, и теперь он работает. Я не делал этого раньше, потому что это рабочий сервер