我需要将文件从 Unix 传输到 Windows 服务器。在 Windows 服务器中创建文件夹后,需要将文件从 Unix 复制到 Windows。我正在用来psftp
执行此过程。因此,我尝试使用 shell 脚本自动执行此过程,但我不知道如何通过psftp
在 shell 脚本中使用来连接 Unix 和 Windows。请有人指导我这一点。
答案1
我建议使用 NFS 挂载来复制文件。
要安装 NFS 服务组件:
- 单击“开始”,指向“管理工具”,然后单击“服务器管理器”。
- 在左侧窗格中,单击管理角色。
- 单击添加角色。将出现“添加角色向导”。
- 点击下一步。将出现“选择服务器角色”选项。
- 选中“文件服务”复选框,然后单击“下一步”。
- 出现文件服务屏幕。单击下一步查看角色服务选项。
- 选中“网络文件系统 (NFS) 服务”复选框,然后单击“下一步”。
- 确认您的选择并单击安装。
- 安装完成后,将显示安装结果。单击“关闭”。
http://technet.microsoft.com/en-us/library/dd758767%28v=ws.10%29.aspx
创建 Windows 2008 NFS 共享:
- 右键单击您要共享的文件夹,然后选择“属性”。
- 选择 NFS 共享选项卡。
- 选择“管理 NFS 共享”按钮。
- 检查顶部的“共享此文件夹”,并确保选中“启用未映射的用户访问”并选中“允许未映射的用户 Unix 访问”。
- 选择权限按钮并确保“访问类型”切换为“读_写”(除非共享仅用于只读目的)并选中“允许根访问”
- 选择确定并应用。
**注意 – 这仅创建 NFS 共享,而不创建网络共享。要启用“网络文件和文件夹共享”,您需要转到“属性”并选择“共享”选项卡。如果启用此功能,请确保转到“高级共享”选项并将“所有人”的权限更改为完全控制。
Windows NFS共享权限: Windows 在注册表中默认关闭 KeepInheritance。因此,新创建的文件不会继承父共享的权限。要启用 KeepInheritance:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ServerforNFS\CurrentVersion\Mapping\KeepInheritance
将值更改为 1。然后打开“网络文件系统服务”,右键单击“NFS 服务器”并选择“停止服务”。服务停止后,再次右键单击并选择“启动服务”。
将 Linux 系统挂载到 Windows NFS 共享:
$ mount –t nfs 主机名:/nfs_share_name 本地路径