perl 脚本中的 rsync 存在权限错误

perl 脚本中的 rsync 存在权限错误

我在一台 Mac 上有一个共享,我正尝试从第二台 Mac 上 rsync 一组目录。

共享安装在第二台 Mac 上,并ls -l显示所有目录的访问权限drwx---rwx 1 shaun staff 466 Nov 23 06:53 Backup,但我收到了错误:rsync: failed to set times on "/Volumes/Data/Media Library/Documents": Permission denied (13)

perl 脚本(只有一个测试目录)是:

$source = '/Volumes/LEXAR64GB';
$destination = '/Volumes/Data/Media Library';
@folders = ('Documents');
print "Working…\n";
foreach $i (@folders) {
    print "Processing: $i\n";
    system("rsync -arub --delete --backup-dir='$destination/rsync backup' --modify-window=1 '$source/$i/' '$destination/$i'");
}

我应该以其他用户的身份运行该命令吗?

答案1

我认为 Mac OS 使用 NFS 通过网络共享。

这是来自 rsync 手册页,请尝试一下。

-O, --omit-dir-times 这告诉 rsync 在保留修改时间时省略目录(参见--times)。如果 NFS 在接收端共享目录,则最好使用 -O. 如果您使用 --backup 而不使用 --backup-dir,则会推断此选项。

相关内容