Windows与Linux之间的文件自动同步
问题:在工作中遇到一个场景,需要每天定时将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之间的文件自动同步的更多相关文章
- linux CentOS 安装rz和sz命令 lrzsz 实现windows和linux之间的文件上传 下载
https://blog.nbhao.org/1902.html https://bbs.csdn.net/topics/391989523 https://www.cnblogs.com/zhoul ...
- 如何实现windows和linux之间的文件传输
2010-04-25 18:10 如何实现windows和linux之间的文件传输 如果想从windows中传送大量文件到Linux中,想必会难倒部分Linux初学者,尤其是文件很大时.我曾试过在li ...
- 使用pscp命令在Windows与linux之间拷贝文件
在Linux环境下做开发时,我们可能会在windows下远程控制Linux系统,本文介绍如何使用putty的pscp.exe在Windows和 Linux(本文使用fedora)之间copy文件. 工 ...
- 如何使用xftp工具在Windows与Linux之间传输文件
如何使用xftp工具在Windows与Linux之间传输文件 整理者:vashon 声明:感谢开源社区 xftp工具是一款SFTP,FTP文件传输软件,可在Windows pc与Unix/Linux之 ...
- Windows与Linux之间海量文件的传输与Linux下大小写敏感问题
Windows与Linux之间海量文件的传输与Linux下大小写敏感问题 mount.cifs 支持通过网络文件系统挂载,不过需要安装cifs-utils,也可通过mount -t cifs挂载,详细 ...
- 怎样共享windows和linux之间的文件
注:本文参考自:https://www.howtogeek.com/176471/how-to-share-files-between-windows-and-linux/,相当于是原文的翻译. 一. ...
- 通过SSH实现Windows与linux之间传输文件
Linux是非常好的开发环境,但很多时候我们希望能够在Windows上操作,通过SSH协议可以实现两者之间传输文件. 一 需要在Linux系统上安装ssh-server,有的linux系统自带了. 查 ...
- 用rz,sz命令在windows和linux之间传输文件(转)
转自http://www.linuxmine.com/178.html有很多人没有听说过ZModem协议,更不知道有rz/sz这样方便的工具: 下面一段是从SecureCRT的帮助中copy的: ZM ...
- Windows、Linux之间传输文件的几种方式
常见的文件传输协议有ftp.sftp,sftp就是在ftp的基础上对传输的数据进行了加密. ftp速度快,sftp速度略慢但安全性高. ftp默认使用21端口,sftp默认使用22端口. 我使用的是C ...
随机推荐
- Java 如何重写对象的 equals 方法和 hashCode 方法
前言:Java 对象如果要比较是否相等,则需要重写 equals 方法,同时重写 hashCode 方法,而且 hashCode 方法里面使用质数 31.接下来看看各种为什么. 一.需求: 对比两个对 ...
- Q:判断链表中是否存在环的相关问题
问题:如何判断一个单向链表中是否存在环? 例如: 链表中存在环(B-->D): <-- <--^ | | v | A-->B-->C-->D 链表中不存在环: A- ...
- 【代码笔记】iOS-自动成表格的效果
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> #import "LabelOnBackImag ...
- 微信支付报错:time_expire时间过短,刷卡至少1分钟,其他5分钟]
查了下代码: $input->SetTime_expire(date("YmdHis", time() + 600));//二维码过期时间.默认10min 10分钟,没问题. ...
- for、for..in、forEach、$.each等循环性能测试
var num = 10000000,arr = []; for(i=0;i<num;i++){ arr[i] = i+2; } //1) 使用 for 循环 function test1() ...
- LeetCode 题解之Find Peak Element
1.题目描述 2.题目分析 在数组的首尾各加入INT_MIN ,然后遍历数组. 3.代码 int findPeakElement(vector<int>& nums) { ) ; ...
- mvc5中重命名项目的名称后,出现"找到多个与名为“Home”的控制器匹配的类型"
1.已把项目中所有的Webapplication1改为了MvcMovie,但是运行后,还是报错: 找到多个与名为“Home”的控制器匹配的类型 2.已重新生成解决方安,还是不行. 解决方法:把bin文 ...
- 在 Azure VM 上安装 LEMP Web 服务器
本文逐步讲解如何在 Azure 中的 Ubuntu VM 上部署 NGINX Web 服务器.MySQL 和 PHP(LEMP 堆栈). LEMP 堆栈可以替代常用的 LAMP 堆栈,可安装在 Azu ...
- Oracle EBS AP 供应商取值
SELECT --nvl(substr(po.vendor_name,1,instr(po.vendor_name,',',1)-1),po.vendor_name) vendor_name, po. ...
- 产生渐变色的view
产生渐变色的view 效果 源码 https://github.com/YouXianMing/UI-Component-Collection // // GradientColorView.h // ...