약 100개의 클라이언트에서 실행되는 백업 스크립트가 있는데 일반적으로 잘 작동합니다. 이제 일반적으로 문제가 없는 고객 1명에게 문제가 발생했습니다.
이 줄은 일반적으로 잘 작동합니다.
rsync -z --partial --times -vvvvv --recursive --log-file="/backup/clientx/clientx.debug-star2.log" --rsync-path="nice -n19 ionice -c3 rsync" --timeout=3600 --delete-after --bwlimit=500 --rsh "nice -n19 ionice -c3 ssh -o StrictHostKeyChecking=no -i /root/.ssh/clientx_rsync_id_rsa" /backup/clientx/dir1/ backup@remote-server:/backup/clientx/dir1
정상적으로 시작되고 파일 목록 작성이 시작됩니다.
note: iconv_open("UTF-8", "UTF-8") succeeded.
(Client) Protocol versions: remote=30, negotiated=30
building file list ...
[sender] change_dir(/backup/clinetx/dir1)
[sender] make_file(.,*,0)
[sender] make_file(inc,*,2)
[sender] make_file(clientx.log,*,2)
[sender] make_file(full,*,2)
[sender] make_file(inc/2015,*,2)
[sender] make_file(inc/2007,*,2)
[sender] make_file(inc/2012,*,2)
하지만 파일 목록을 작성하지 않고 중지하고 종료합니다.
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
[sender] _exit_cleanup(code=12, file=io.c, line=601): entered
rsync error: unexplained error (code 255) at io.c(601) [sender=3.0.7]
[sender] _exit_cleanup(code=12, file=io.c, line=601): about to call exit(255)
하지만 다른 디렉토리에서 동일한 작업을 시도하면 괜찮습니다. 유일한 차이점은 dir2
약 1600개의 파일과 약 4300개의 파일이 있다는 것입니다 dir1
.
내가 말했듯이, 동일한 수의 파일을 가진 다른 모든 클라이언트에서는 잘 작동합니다.
ls -ld
dir1 - drwxrwx--- 4 root nagios 4096 May 23 20:59 .
dir2 - drwxrwx--- 7 root nagios 4096 Feb 22 2016 .
무엇이 잘못되고 있는지 아는 사람이 있나요?
답변1
여기에서도 동일한 상황이 발생합니다. ISP가 모뎀에 Arris가 있는 AT&T Fiber가 제공하는 단일 원격 사이트의 호스트라는 점을 제외하면 고대 백업 스크립트는 어디에서나 작동합니다. 항상 짧은 시간(2초 미만) 동안 작동하다가 갑자기 연결이 종료됩니다.
아아, 나의 가장 어두운 의심은 사실임이 입증되었습니다. rsync "--bwlimit" 매개변수에 다른 값을 사용하여 시행착오를 거쳐 "--bwlimit=56" 이하에서는 연결이 끊어지지 않는 것을 발견했습니다.언제나"--bwlimit=57" 이상으로 중단합니다.
원격지에서 Arris 모뎀(192.168.1.254)의 사용자 인터페이스를 살펴봤지만 조정이 필요한 부분은 보이지 않았습니다. 모든 포트는 이를 통해 OpenWRT 18.06 라우터("DMZplus 모드")로 전달됩니다. 이 라우터는 매우 유사한 설정을 가진 다른 여러 사이트의 다른 여러 라우터와 동일한 라우터이지만 이들 중 어느 것도 연결 끊김 문제가 없습니다.
통신을 56KB/초로 제한하는 것은 끔찍한 해결책이지만 적어도 작동하는 것 같습니다. 참으로 충격적이다. AT&T를 조심하세요. (이 특정 외딴 지역을 독점하고 있습니다.)
답변2
id를 사용하여 원격 시스템에 백업하려고 backup
하지만 원격 시스템에 대한 권한으로 인해 해당 계정이 대상 디렉터리에 액세스할 수 없습니다.
backup
사용자가 쓸 수 있도록 권한을 완화 dir1
하거나 계정을 대상 사용자로 dir2
사용해야 합니다 .root