WebDAV 공유에 대용량 파일을 복사하면 파일 시스템 오버플로가 발생함

WebDAV 공유에 대용량 파일을 복사하면 파일 시스템 오버플로가 발생함

인터넷 제공업체로부터 100GB WebDAV 클라우드 스토리지를 받았습니다. 내 사진의 원격 백업을 저장하는 데 사용하고 싶습니다. 불행하게도 75GB를 클라우드에 복사하면 루트 파일 시스템, 즉 /var/cache.

이것은데비안 불스아이.

mount -t davfs https://sd2dav.1und1.de /media/dav
nohup rsync --partial -avp /home/user/Bilder_Cloud_full_b1_s1_v1.tib /media/dav/Bilder/ &

다음날 아침(재시작 후)

$ cat nohup..out

sending incremental file list
Bilder_Cloud_full_b1_s1_v1.tib
rsync: [receiver] write failed on "/media/dav/Bilder/Bilder_Cloud_full_b1_s1_v1.tib": No space left on d>rsync error: error in file IO (code 11) at receiver.c(378) [receiver=3.2.3]
rsync: [sender] write error: Broken pipe (32)

$ df -h
Dateisystem                 Größe Benutzt Verf. Verw% Eingehängt auf
udev                         1,9G       0  1,9G    0% /dev
tmpfs                        388M    1,2M  387M    1% /run
/dev/mapper/server--vg-root   33G     31G   37M  100% /
tmpfs                        1,9G    4,0K  1,9G    1% /dev/shm
tmpfs                        5,0M       0  5,0M    0% /run/lock
/dev/mapper/server--vg-data  6,9T    6,2T  455G   94% /data
/dev/sda1                    234M    162M   60M   74% /boot
/tmpfs                        388M     32K  388M    1% /run/user/1000

이는 /var/cache. 이 특정 파일을 복사할 때뿐 아니라 내 Windows 시스템에서 이 디렉터리로(SMB를 통해) 직접 백업하려고 할 때도 이런 현상이 항상 발생합니다. 이것은 일반적인 문제인 것 같습니다.

내 업로드는45메가비트/초, rsync는 이를 존중해야 합니다.

왜 이것이 항상 내 루트 파일 시스템을 넘치게 하는지 이해가 되지 않습니다. 복사 과정 중에 클라우드 스토리지가 마운트 해제되면 /media/dav가 플러딩되어야겠죠? 하지만 아무것도 아니야.

DAV는 이 용도에 충분히 안정적이지 않습니까?

답변1

df -h출력 에 따르면 /media/dav마운트되지 않았습니다. 실제로 /채우고 있는 것은 rootfs입니다(/media/dav는 다른 파일 시스템을 그 위에 마운트하지 않는 한 /의 하위 디렉토리일 뿐이므로).

rsync성공적으로 설치되면 실행 해야 합니다 . 예를 들어 다음과 같습니다.

mount -t davfs https://sd2dav.1und1.de /media/dav &&
  nohup rsync --partial -avp /home/user/Bilder_Cloud_full_b1_s1_v1.tib /media/dav/Bilder/ &

또는:

if mount -t davfs https://sd2dav.1und1.de /media/dav ; then
  nohup rsync --partial -avp /home/user/Bilder_Cloud_full_b1_s1_v1.tib /media/dav/Bilder/ &
fi

더 많은 테스트를 수행하고 싶을 수도 있습니다. 예를 들어, davfs가 마운트되면 "davfs-is-mounted"라는 파일이 /media/dav에 있지만 그렇지 않으면 그렇지 않다는 것을 알고 있는 경우:

if mount -t davfs https://sd2dav.1und1.de /media/dav ; then
  if [ -e /media/dav/davfs-is-mounted ] ; then
    nohup rsync --partial -avp /home/user/Bilder_Cloud_full_b1_s1_v1.tib /media/dav/Bilder/ &
  fi
fi

관련 정보