rsync bash 스크립트 "계산할 수 없습니다"

rsync bash 스크립트 "계산할 수 없습니다"

LAN의 ssh를 통해 한 시스템에서 다른 시스템으로 rsync하는 bash 스크립트를 작성 중입니다. 그것은 나에게 link_stat 오류를 주었고 소스가 완전히 확실하지 않은 디렉토리를 참조했습니다.

이 오류는 무엇을 암시하며 이 경로는 스크립트에서 어디에서 왔습니까?

백업 폴더의 위치는 /home/user/rsynctest/입니다.

#!/bin/bash
rsync -av ssh ../Backup/ 192.168.100.120:/media/storage1/Backup

실수...

    sending incremental file list
    rsync: link_stat "/home/user/rsynctest/Backup/ssh" failed: No such file or directory (2)

    sent 270 bytes  received 16 bytes  572.00 bytes/sec
    total size is 23  speedup is 0.08
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.1]

답변1

rsyncSSH를 사용하라고 말할 필요는 없습니다 . 원격 경로가 제공되면 기본적으로 해당 경로를 사용합니다. 명령줄의 "ssh"는 복사할 다른 파일 경로로 해석됩니다. rsync 프로세스는 해당 이름의 파일을 찾을 수 없으므로 불평합니다(그런 다음 지정된 다음 경로를 복사합니다).

그러니 바꿔라

rsync -av ssh ../Backup/ 192.168.100.120:/media/storage1/Backup

도착하다

rsync -av ../Backup/ 192.168.100.120:/media/storage1/Backup

답변2

다음을 사용해 보세요.

rsync -av ../Backup/ -e ssh 192.168.100.120:/media/storage1/Backup 

또는

rsync -ave ssh ../Backup/ 192.168.100.120:/media/storage1/Backup 

일하지 않는 이유:

ssh파일을 전송 하려는 경우 이 -e플래그를 사용해야 합니다. 맨페이지에서,

-e, --rsh=COMMAND는 사용할 원격 쉘을 지정합니다.

여기서는 를 사용하여 를 -e ssh통해 원격 셸에 연결하도록 지정합니다 ssh stream. rsync 작동 방식에 대해 더 자세히 알고 싶으시면 ssh다음 URL을 확인하세요.

rysnc는 SSH를 통해 어떻게 작동하나요?

관련 정보