问题:在工作中遇到一个场景,需要每天定时将Linux机器上的文件自动同步到Windows机器上。

解决方案有两个:

1、在Windows 机器上设置共享目录,然后在Linux机器上挂载共享 目录,每天将文件写入共享目录即可。

  命令: mount -t cifs -o username=administrator,password=XXX //WIN IP/WINDOWS共享的目录名 /sample/

2、在Linux上搭建Ftp服务器,然后在windows上通过定时任务执行脚本来下载 文件。

第一个方案需要windows的登陆密码。本文采用第二个方案。


windows上的ftp操作:

在dir访问目录时报错:

200 PORT command successful. Consider using PASV.
425 Failed to establish connection.

解决方案:在windows上执行如下两个命令。

1) netsh advfirewall firewall add rule name="FTP" dir=in action=allow program=%SystemRoot%\System32\ftp.exe enable=yes protocol=tcp

2) netsh advfirewall firewall add rule name="FTP" dir=in action=allow program=%SystemRoot%\System32\ftp.exe enable=yes protocol=udp


windows上通过定时任务执行的脚本文件如下。将staspowerpre.csv下载到c:/mltemp目录。

@echo off
set ftpulr=192.XXX.XXX.XXX
set ftpuser=ftp_test
set ftppwd=000000
set ftpport=21
echo open %ftpulr% %ftpport%>>openFtp.txt
echo %ftpuser%>>openFtp.txt
echo %ftppwd%>>openFtp.txt
echo prompt off>>openFtp.txt
echo mget staspowerpre.csv c://mltemp//staspowerpre.csv >>openFtp.txt
echo bye>>openFtp.txt
echo Transport data......
ftp -s:openFtp.txt
del openFtp.txt
exit

windows系统下ftp上传下载和一些常用命令

先假设一个ftp地址 用户名 密码

FTP Server: home4u.at.china.com

User: yepanghuang

Password: abc123

打开windows的开始菜单,执行“运行”命令,在对话框中输入ftp,按下“确定”按钮将会切换至DOS窗口,出现命令提示符

ftp>键入命令连接FTP服务器:

ftp> open home4u.at.china.com (回车)

稍等片刻,屏幕提示连接成功:

ftp> connected to home4u.china.com

接下来服务器询问用户名和口令,分别输入yepanghuang和abc123,待认证通过即可。

windows下ftp上传文件:

比如要把 D:/index.html上传至服务器的根目录中,可以键入:

ftp> put D:/index.html (回车)

当屏幕提示你已经传输完毕,可以键入相关命令查看:

ftp> dir (回车)

windows下ftp上传下载:

假设要把服务器/images目录中的所有.jpg文件下载至本机中,可以输入指令:

ftp> cd images(回车) [注:进入/images目录]

ftp> mget *.jpg

windows下ftp上传与下载工作完毕,键入bye中断连接。

ftp> bye(回车)

下面是一些常用的FTP命令:

1. open:与服务器相连接;

2. send(put):上传文件;

3. get:下载文件;

4. mget:下载多个文件;

5. cd:切换目录;

6. dir:查看当前目录下的文件;

7. del:删除文件;

8. bye:中断与服务器的连接。

如果想了解更多,可以键入

ftp> help (回车)

查看命令集:

ascii: 设定以ASCII方式传送文件(缺省值)

bell: 每完成一次文件传送,报警提示

binary: 设定以二进制方式传送文件

bye: 终止主机FTP进程,并退出FTP管理方式

case: 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母

cd: 同UNIX的CD命令

cdup: 返回上一级目录

chmod: 改变远端主机的文件权限

close: 终止远端的FTP进程,返回到FTP命令状态,所有的宏定义都被删除

delete: 删除远端主机中的文件

dir [remote-directory] [local-file]: 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件

get [remote-file] [local-file]: 从远端主机中传送至本地主机中

help [command]: 输出命令的解释lcd: 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录

ls [remote-directory] [local-file]: 同DIR

Windows与Linux之间的文件自动同步的更多相关文章

  1. linux CentOS 安装rz和sz命令 lrzsz 实现windows和linux之间的文件上传 下载

    https://blog.nbhao.org/1902.html https://bbs.csdn.net/topics/391989523 https://www.cnblogs.com/zhoul ...

  2. 如何实现windows和linux之间的文件传输

    2010-04-25 18:10 如何实现windows和linux之间的文件传输 如果想从windows中传送大量文件到Linux中,想必会难倒部分Linux初学者,尤其是文件很大时.我曾试过在li ...

  3. 使用pscp命令在Windows与linux之间拷贝文件

    在Linux环境下做开发时,我们可能会在windows下远程控制Linux系统,本文介绍如何使用putty的pscp.exe在Windows和 Linux(本文使用fedora)之间copy文件. 工 ...

  4. 如何使用xftp工具在Windows与Linux之间传输文件

    如何使用xftp工具在Windows与Linux之间传输文件 整理者:vashon 声明:感谢开源社区 xftp工具是一款SFTP,FTP文件传输软件,可在Windows pc与Unix/Linux之 ...

  5. Windows与Linux之间海量文件的传输与Linux下大小写敏感问题

    Windows与Linux之间海量文件的传输与Linux下大小写敏感问题 mount.cifs 支持通过网络文件系统挂载,不过需要安装cifs-utils,也可通过mount -t cifs挂载,详细 ...

  6. 怎样共享windows和linux之间的文件

    注:本文参考自:https://www.howtogeek.com/176471/how-to-share-files-between-windows-and-linux/,相当于是原文的翻译. 一. ...

  7. 通过SSH实现Windows与linux之间传输文件

    Linux是非常好的开发环境,但很多时候我们希望能够在Windows上操作,通过SSH协议可以实现两者之间传输文件. 一 需要在Linux系统上安装ssh-server,有的linux系统自带了. 查 ...

  8. 用rz,sz命令在windows和linux之间传输文件(转)

    转自http://www.linuxmine.com/178.html有很多人没有听说过ZModem协议,更不知道有rz/sz这样方便的工具: 下面一段是从SecureCRT的帮助中copy的: ZM ...

  9. Windows、Linux之间传输文件的几种方式

    常见的文件传输协议有ftp.sftp,sftp就是在ftp的基础上对传输的数据进行了加密. ftp速度快,sftp速度略慢但安全性高. ftp默认使用21端口,sftp默认使用22端口. 我使用的是C ...

随机推荐

  1. 虚拟机VMware workstations的网络设置

    一般遇到虚拟机中上不了网的问题,可以这样解决: 1.在终端输入命令:ifconfig.--查看eth0接口上是否有IP地址. 发现eth0接口上没有ip地址. 2.输入cat /etc/sysconf ...

  2. MangoDB的C#驱动库(.net framewokr 4.0)

    编写运维工具,需要联接MangoDB 基于我陈旧的技术栈,就用c#开发了 驱动库下载地址记录到至此,需要的可以下载 注意,此驱动是老版本的,只支持.net framewokr 4.0 看了半天,觉得够 ...

  3. 浏览器从输入到输出的过程与原理三之DNS

    1. DNS 在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP地址”(即互联网协议地址).由于IP地址(为一串数字)不方便记忆,DNS允许用户使用一串常见的字母(即“域名”)取代.比如,您只需 ...

  4. CSS选择器之基本选择器+属性选择器

    1.1      id选择器 #main{ font-size:12px; margin:0; padding:0; } 其中的#main就是id选择器,用于选择HTML页面中id = "m ...

  5. 前端模块化方案全解(CommonJS/AMD/CMD/ES6)

    模块化的开发方式可以提高代码复用率,方便进行代码的管理.通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数.目前流行的js模块化规范有CommonJS.AMD.CMD以及ES6的模块 ...

  6. Django 模板继承extend 标签include block

    # block 站网页位置# includ 导入网页标签# extends 导入网页模板 # common_js.html <script src="/static/plugins/j ...

  7. Linux pyenv环境安装

    python工作环境管理 pyenv安装: git clone https://github.com/pyenv/pyenv ~/.pyenv echo 'export PYENV_ROOT=&quo ...

  8. 从MySQL向Greenplum集群中导入数据

    我们要从MySQL当中导出数据到Greenplum当中,按照以下步骤就可以 1:将MySQL当中的表导出外部文件 以schema_name.table_name为例 select product_id ...

  9. Winform 多个窗口编辑同一条数据同步的实现

    场景: 一个主窗口中,可以在列表(DataGridView)里选中一条记录编辑,打开一个编辑窗口(非模态窗口),编辑窗口保存后需要刷新父窗口,由于编辑窗口是非模态窗口,如果打开了多个窗口,并且都是编辑 ...

  10. 进程间协作---wait,notify,notifyAll

    转自牛客网的一篇评论,解释的十分详细 在 Java 中,可以通过配合调用 Object 对象的 wait() 方法和 notify()方法或 notifyAll() 方法来实现线程间的通信.在线程中调 ...