您的位置:首页 > 运维架构 > Linux

windows本地代码同步到Linux开发服务器的方法

2018-01-18 15:19 411 查看
背景

目前的Linux统一开发服务器,目前,开发者通过CIFS或SAMBA远程挂载的方式使用.

但是,某异地接口带宽只有几十M,非常影响使用.

因此,这里给出第三种解决方案.

代码放在本地,通过同步指令同步服务器的代码,然后再在服务器那进行编译.

同步代码方法

最简单的就是采用rsync指令,它可以使用增量方式的同步,速度非常快

但是,windows没有rsync指令.

如何在windows安装rsync

安装cygwin, 并额外安装rsync和ssh

(在官网下载一个,这是个在线安装工具,在选择库的步骤,务必加入 rsync和ssh 网络应用。搜索栏输入ssh,选择最下方的Net里的openssh,让bin一列打上X号即可,rsync同理。

注意:在选择镜像源后的下载过程中,如果出现download incomplete, try again的错误,点击 否 即可继续,中间忽略其错误)

(另外,建议安装vim,方便以后编辑文本)

简单使用rsync示例

打开cygwin后,可以tab出rsync,用法和linux一样

举例:

rsync -av /cygdrive/e/xx_folder yanyongwen@

:/home/yanyongwen

这句话的意思是, 将E盘的xx_folder同步到服务器的我的home路径下, 即服务器多了/home/yanyongwen/xx_folder

-a 是archive的意思, -v是verbose的意思

如果xx_folder后面加/, 则不会包含xx_folder本身,即/home/yanyongwen/下会有很多xx_folder里的文件

如何不输入密码

上面的步骤,每次都要求你输入ssh的密码

可以采用ssh秘钥的方式实现免密码:

服务器加入你的ssh密钥:

1.执行 ssh-keygen.exe(一路回车即可)

2.ssh-copy-id yanyongwen@10.9.88.88

输入一次密码,以后都免密码了!

(以上yanyongwen改为自己的名字)

其他说明

rsync第一次会全部上传,以后就可以增量同步了

如果需要排除文件夹如根目录下的.svn, rsync加入–exclude=.svn即可

vi ~/.bashrc

将rsync变成方便自己使用的函数即可,例如.bashrc加入

function rsync_dev(){

rsync -av /cygdrive/1yanyongwen@10.9.88.88:/home/yanyongwen/ 2

}

以后就可以rsync_dev local_folder remote_folder同步了

如果需要将服务器生成的文件同步下来,只需要把上面rsync两边的地址反过来即可。

转自http://blog.csdn.net/yyw794/article/details/78018403
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  研发管理