2017-03-11 21 views
0

몇 가지 질문을 체크 아웃했지만 아무도 지금까지 도움이되지 않았습니다.Applescript - NAS 드라이브에 rsync

하나의 HDD에서 다른 HDD로 원시 파일을 백업하는 AppleScript가 있는데 그 과정에서 NAS 드라이브를 포함하고 싶습니다. 파일을 복사하는 데 rysnc을 사용하고 있지만 내 rsync 명령에서 NAS 드라이브를 참조하는 데 문제가 있습니다.
do shell script "open 'smb://NASDrive/Matt RAW Backup/Backups'"

그러나, 다음의 코드가 작동하지 않는 :
do shell script "rsync -a '/Users/Matt/Desktop/Test Folder/' '/Volumes/NASDrive/Matt RAW Backup/Backups' --delete"

('NASDrive

나는 노력하고 있습니다 테스트로 NAS 드라이브를 참조하는 코드의 라인을 가지고 '는 NAS 드라이브의 이름이고,'매트 RAW 백업 결과 '바'공유 이름)

난에 다음과 같은 오류가있다 '

error "ssh: Could not resolve hostname smb: nodename nor servname provided, or not known rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-51/rsync/io.c(453) [sender=2.6.9]" number 255

누구도 rsync 명령이 실패했지만, 동일한 참조 번호의 open 명령이 작동하는 이유를 알고 있습니까?

+0

당신은'rsync를 -a '/ 사용자 ...에 선도적 인 슬래시를 누락' –

+0

감사 @MarkSetchell는, 그 고정했습니다. 불행히도 여전히 실패하고 있습니다. 질문을 업데이트했습니다. –

+0

'rsync' 명령을 터미널에 직접 입력하면 어떻게됩니까? –

답변

1

아마도 타이밍 문제 일 수 있습니다.

나는 AppleScript로 mount volume 명령을 사용하여 디스크가 당신은 당신의 NAS의 서버 이름으로 server.local를 교체해야 /Volumes

에 나타날 때까지 기다리는 것이 좋습니다.

set diskName to "NASDrive" 
try 
    mount volume "smb://server.local/" & diskName 
    repeat until diskName is in (do shell script "ls /Volumes") 
     delay 0.2 
    end repeat 
    do shell script "rsync -a '/Users/Matt/Desktop/Test Folder/' '/Volumes/NASDrive/Matt RAW Backup/Backups' --delete" 
on error e 
    display dialog "An error occurred: " & e 
end try