Applescript - rsync到NAS Drive

时间:2017-03-11 11:19:07

标签: shell applescript rsync nas

我已经检查了几个问题但到目前为止没有任何问题。

我有一个AppleScript将我的RAW文件从一个硬盘备份到另一个硬盘,我希望在这个过程中包含一个NAS硬盘。我正在使用rysnc复制文件,但我在rsync命令中引用NAS驱动器时遇到了问题。

我有一行代码引用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 Drive的名称,'Matt RAW Backup'是共享名称)

我在“结果”栏中收到以下错误:

  

错误“ssh:无法解析主机名smb:nodename或servname提供或未知   rsync:连接意外关闭(到目前为止收到0个字节)[发送者]
  rsync错误:/BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-51/rsync/io.c(453)中的无法解释的错误(代码255)[sender = 2.6.9]“number 255 < / p>

有谁知道rsync命令失败的原因,但open命令对该文件夹的引用是否正常?

1 个答案:

答案 0 :(得分:1)

这可能是一个时间问题。

我建议使用AppleScript mount volume命令并等到磁盘出现在/Volumes

您需要将server.local替换为NAS的服务器名称。

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