在服务器上运行的Bash脚本,访问本地文件

时间:2014-02-21 13:33:25

标签: linux bash

我在服务器上运行一个脚本,该服务器应该将源目录x-times中的所有文件复制到destinaton目录。当两个导演都在服务器上时它运行正常。

如何从C:\ _dir等本地目录复制到服务器目录?

2 个答案:

答案 0 :(得分:1)

如果您在系统之间拥有SSH访问权限,则可以将本地目录推送到远程位置,如下所示:

printf -v ssh_cmd 'mkdir -p %q && tar -C %q -x' \
  "$dest_directory" "$dest_directory"
tar -C "$source_directory" -c . | ssh other_host "$ssh_cmd"

...或者同样将远程目录拉到本地目录:

printf -v ssh_cmd 'tar -C %q -c .' \
  "$source_directory" "$source_directory"
mkdir -p "$dest_directory"
ssh other_host "$ssh_cmd" | tar -C "$dest_directory" -x

答案 1 :(得分:0)

首先,您需要共享本地“C:\ dir”并为其指定网络名称,例如“networkdir”。

然后,你就像那样装载它 mount -t cifs -o username=user,password=pw //hostname/networkdir /mnt/localdir/

然后将文件复制到/mnt/localdir/,就像将其复制到本地目录一样。

出于安全原因,您还可以在Windows中为此操作创建用户,并授予用户写入该共享的权限