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

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

我家里有一个新的无线路由器,上面挂着一个 3 TB 的硬盘。我想在 cygwin 中编写一个备份脚本,将所有更改的文件复制到外部硬盘上。

首先,我该如何cd进入硬盘?在 Windows 文件资源管理器中,我只需输入//192.168.1.1,它就会带我进入网络驱动器。但是,当我输入时,cd //192.168.1.1它不起作用。那么我该如何将目录更改为 HD?

其次,是否有人能建议如何编写一个好的备份脚本来复制某些目录(如果它们发生了变化)?

答案1

您可以在 cygwin UNIX 环境的底层 Windows OS 视图中查看已安装的驱动器。在 cygwin shell 提示符下(通常是)/cygdrive执行以查看驱动器的安装位置。 dfbash以下是有关安装驱动器位置的文档。例如,要更改为作为 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 Machine并且X:\
  3. Cygwin 在 XP VM 上运行,并且/Volumes/Time Machine将其视为/cygdrive/x甚至x:

$ ls x:

这是一张图片:

在此处输入图片描述

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

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

$ cd //192.168.0.2/whmcclos

这样,我甚至不需要将文件夹安装为驱动器号就可以从 cygwin 内部查看它。

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

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

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

相关内容