rsync和ssh到NAS以更新上次复制文件的权限



我有一个Synology DS413,我在上面存储音乐、电影等。如果我在Windows机器上下载了一个文件,我可以通过安装在SMB上的共享将其移动过来,并且权限可以毫无问题地处理。在我的MacBook中,使用任何协议(NFS、AFP、SMB),文件都会以000集进行复制。

我制作了一个脚本来复制这些文件,我将粘贴在下面。然而,它的效率很低,因为它在运行rsync后对目录中的每个文件都运行chmod,而我实际上只需要在最后一个文件上设置它。假设脚本使用两个不同的命令,有没有一种方法可以使用mtime或类似的方法来只修改最新的文件?

rsync路径是因为使用ipkg将OSX版本的rsync侧加载到NAS上比尝试替换现有版本更容易。同样,使用相对路径也有问题,所以必须使用绝对路径。

#!/bin/bash
rsync --rsync-path=/usr/syno/bin/rsync -PavO -e 'ssh -p 42 -i /Users/stephonovich/.ssh/whoisit' . 192.168.1.186:/volume1/movies/Torrents
ssh -p 42 -i ~/.ssh/whoisit 192.168.1.186 'cd /volume1/movies/Torrents && chmod 775 *.torrent && chown rutorrent *.torrent && chgrp users *.torrent'

这样的东西应该能帮你完成任务:

rsync --rsync-path=/usr/syno/bin/rsync -PavO -e 
  --chmod=F775 --chown=rutorrent:users  
  'ssh -p 42 -i ~/.ssh/whoisit' . 192.168.1.186:/volume1/movies/Torrents

为了进一步阅读,有rsync 的手册页面

最新更新