Applescript - rsync 到 NAS 驱动器

Applescript - rsync to NAS Drive

我已经检查了几个问题,但 none 到目前为止有帮助。

我有一个 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 驱动器的名称,'Matt RAW Backup' 是共享名称)

我在 'Result' 栏中收到以下错误:

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 命令却有效?

可能是时间问题。

我建议使用 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