博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows与Linux之间的文件自动同步
阅读量:6626 次
发布时间:2019-06-25

本文共 2391 字,大约阅读时间需要 7 分钟。

问题:在工作中遇到一个场景,需要每天定时将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 offset ftpulr=192.XXX.XXX.XXXset ftpuser=ftp_testset ftppwd=000000set ftpport=21echo open %ftpulr% %ftpport%>>openFtp.txtecho %ftpuser%>>openFtp.txtecho %ftppwd%>>openFtp.txtecho prompt off>>openFtp.txtecho mget staspowerpre.csv c://mltemp//staspowerpre.csv >>openFtp.txtecho bye>>openFtp.txtecho Transport data......ftp -s:openFtp.txtdel openFtp.txtexit

 

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

转载于:https://www.cnblogs.com/xianhan/p/9534766.html

你可能感兴趣的文章
JVM Debugger Memory View for IntelliJ IDEA
查看>>
LINUX下GDB反汇编和调试
查看>>
golang fmt格式“占位符”
查看>>
SpringMVC包括哪些组件
查看>>
现代前端开发路线图:从零开始,一步步成为前端工程师
查看>>
Oracle绝对值函数
查看>>
mysql 的mgr集群
查看>>
html5播放mp4视频代码
查看>>
032_nginx配置文件安全下载
查看>>
Linux下tomcat修改成的80端口无法访问
查看>>
redis实现对账(集合比较)功能
查看>>
为了好好看球,学霸们用深度学习重建整个比赛3D全息图
查看>>
浅谈持续集成
查看>>
【ZH奶酪】如何用textgenrnn处理中文
查看>>
CentOS双机中Docker下安装Mysql并配置互为主从模式
查看>>
OkHttp3源码详解(六) Okhttp任务队列工作原理
查看>>
这样做,轻松在Word中使用MathType
查看>>
VS Code非英语版本连接TFS错误解决方案
查看>>
angular5中使用jsonp请求页面
查看>>
sql in not in 案例用 exists not exists 代替
查看>>