将目录更改为Cygwin中的网络驱动器


10

我家里有一个新的无线路由器,并连接了一个3 TB的驱动器。我想在cygwin中编写一个备份脚本,它将所有更改的文件复制到外部HD。

对于初学者,我如何cd进入硬盘驱动器?在Windows文件资源管理器中,我只需键入//192.168.1.1即可将其带到网络驱动器。但是,当我键入cd //192.168.1.1它不起作用。那么如何将目录更改为HD?

其次,是否有人对如何编写良好的备份脚本(如果已更改)以递归方式复制某些目录提出建议?

Answers:


15

您可以通过在cygwin UNIX环境的基础Windows操作系统视图中查看已装入的驱动器/cygdrivedf在cygwin Shell提示符下(通常为bash)执行一次,以查看驱动器的安装位置。 这是有关在何处找到已安装驱动器的文档。例如,要更改为Windows挂载的网络驱动器f:\,您需要更改cd/cygdrive/f,如下所示:

$ cd /cydrive/f

这是一个例子:

  1. OS X Mavericks(UNIX)具有3 TB驱动器,安装方式为 /Volumes/Time Machine
  2. 虚拟Windows XP(VM)在OS X上运行,并且显示/Volumes/Time MachineX:\
  3. Cygwin在XP VM上运行,并且看到/Volumes/Time Machineas /cygdrive/x甚至x:

$ ls x:

这是一张照片:

在此处输入图片说明

如果外部HD当前尚未安装在Windows主机上,并且已经映射到中的安装点/cygdrive,则您可能需要自己安装网络共享。 看一下cygwin对UNIX mount命令的实现

查看网络文件夹的另一种方法是使用您所使用的语法-我将OS X服务器导出OS X登录文件夹whmcclos作为SMB共享文件夹。 我可以在OS X下运行的Windows XP VM上,从cygwin将当前工作目录设置为该共享文件夹,如下所示:

$ cd //192.168.0.2/whmcclos

这样,我什至无需将文件夹安装为驱动器号即可从cygwin中查看它。

对于备份已更改的文件,rsync将仅递归备份目录树中的文件-它计算最小备份集,并且仅备份已更改的内容,并具有大量选项,包括复制到网络驱动器和可以通过进行加密ssh以下是rsync与cygwin 一起使用的一些提示。 这是一个压缩和存档(递归)源的驱动器命令,c:\ 并将其放置在f:\Windows主机cygwin上的目标驱动器上。

$ rsync -avz /cygdrive/c/path/to/source /cygdrive/f/path/to/target

如果您需要任何进一步的帮助,请发表评论。


谢谢,我还有一个问题-使用时-avz,它不能正确复制权限。我懂了rsync: failed to set permissions on "<path>": Permission denied (13)。任何想法如何纠正这一点?
drjrm3 2014年

这听起来像是我曾经看到的具有权限的东西,特别是具有ACL权限的东西。查看包括在内的ACL的权限,/bin/ls -le /path/to/source并且不仅/bin/ls -le /path/to/target要检查各种文件夹的权限,还要检查这些文件夹中和的ACL权限。请参阅man ls-le开关以及man chmod+a-a开关。我99%确信它与权限有关。首先rsync同步源树的一个子集,说,/tmp您知道您具有写许可权,然后看看它是如何工作的。
比利·麦克洛斯基

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.