![rsync bash 스크립트 "계산할 수 없습니다"](https://linux55.com/image/118957/rsync%20bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%22%EA%B3%84%EC%82%B0%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%22.png)
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
rsync
SSH를 사용하라고 말할 필요는 없습니다 . 원격 경로가 제공되면 기본적으로 해당 경로를 사용합니다. 명령줄의 "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을 확인하세요.