Windows→Linux,本地同步到服务器

这篇具有很好参考价值的文章主要介绍了Windows→Linux,本地同步到服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

适用背景:

用自己电脑修改代码,使用实验室/公司的服务器炼丹的朋友

优势:

本地 <--> 服务器,实时同步,省去文件传输的步骤

本地改 -> 自动同步到服务器 -> 服务器跑代码 -> 一键同步回本地(真一键,就右击按一下同步)

具体实现方式:

1. 安装SFTP插件

Windows→Linux,本地同步到服务器,系统、环境,服务器

2. 打开本地的项目文件夹

3. ctrl + shift + p 打开搜索栏,输入sftp,打开SFTP: Config

4. 配置文件修改,实现自动同步

本地->远程,增删改移全自动,不限文件/夹文件。注意是 本地到远程 单向,反之 远程->本地 无法自动同步,需要手动download到本地。

当然远程文件都是只读的,你肯定是操作本地文件的,除了远程代码生成的新文件,这里是唯一需要手动download到本地的。

配置文件会生成在项目根目录/.vscode/sftp.json

完整的配置参数信息:Configuration · Natizyskunk/vscode-sftp Wiki (github.com)

注意:sftp.json文件会自动创建在项目的.vscode文件夹中,.vscode文件夹在哪个项目里面,该同步效果就对哪个项目生效,并不是全局的

以下配置参数为重中之重,实现全自动同步请照抄:

最重要的5项请一模一样:

{
    "...",
    "watcher": {
        "files": "**/*",
        "autoUpload": true,
        "autoDelete": true
    },
    "...",
    "syncOption":{
        "delete": true
    },
    "...",
}
    "uploadOnSave": false, // set to false if watcher `autoUpload` is set to true & `files` is set to "**/*".

password:服务器密码,不写这个参数则每次都需要输入密码
privateKeyPath:本地端私钥绝对路径,用这个就可以不用password免密了,配置方法见VS code配置免密连接Linux服务器-CSDN博客

{
    "name": "My Server",
    "host": "xxx.xxx.xx.xxx",        #你要连接的服务器的IP地址
    "protocol": "sftp",                 #也可以用ftp方式,sftp更安全
    "port": 22,                     #sftp,默认端口是22;ftp,默认端口是21
    "username": "xxx",                #远程服务器的名称
    "password": "xxx",                #远程服务器的用户登录密码
    "privateKeyPath": "c:/Users/xxx/.ssh/id_rsa"

    "remotePath": "/home/xxx/project",   #本地项目要同步到远程电脑上的路径,必须是绝对路径
    "uploadOnSave": true,          #本地更新文件内容会自动同步到远程文件
    "downloadOnOpen":true,         #填true就行,打开远程文件时自动将其下载到本地

    "ignore": [".vscode"],                #忽略的文件/文件夹,不会被同步
    "watcher": {               #监视器(可以重命名文件和删除文件)
        "files": "**/*",          #监视项目根目录下所有文件是否更改。
        "autoUpload": true,         #本地有更新操作时,远程自动更新(增删改移)
        "autoDelete": true          #本地有删除操作时远程自动删除
    }
}

按照如上配置后,本地->远程 所有操作都是全自动同步。
    "downloadOnOpen": true 会自动同步(下载)打开的文件(本地端本身就有,但是远程端改写了内容的文件,即 远程->本地 的 “改” 通过该参数可以实现自动同步(需要打开该文件))
然后 远程->本地 的同步,比如远程跑代码生成的文件或者改动的文件(删除和移动操作不会同步),通过在本地目录空白处鼠标右键(或者在扩展设置键盘快捷键)——  Remote -> Local 或者 Download Folder

Windows→Linux,本地同步到服务器,系统、环境,服务器
所以 远程端尽量不要做删除和移动文件的操作,如果在远程端移动或删除了文件,然后点同步了。如果是移动操作,那本地端原位置和新位置都会有这个文件(删除操作的话就是没变化,本地端原文件还在那里)

简单来说就是远程同步到本地只增不减,灰色为最终结果:
远程端
/home/xxx/a --移动--> /home/yyy/a本地端 /home/xxx/a + /home/yyy/a
远程端 /home/xxx/a --删除--> 本地端 /home/xxx/a

其实也不麻烦,只需要在本地端手动删除原位置的/home/xxx/a即可

下面其他配置参数,仅供参考:

{
    "name": "My Server",
    "host": "xxx.xxx.xx.xxx",        #你要连接的服务器的IP地址
    "protocol": "sftp",                 #也可以用ftp方式,sftp更安全
    "port": 22,                     #sftp,默认端口是22;ftp,默认端口是21
    "username": "xxx",                #远程服务器的名称
    "password": "xxx",                #远程服务器的用户登录密码
    "remotePath": "/home/xxx/project",   #本地项目要同步到远程电脑上的路径,必须是绝对路径
    "uploadOnSave": true,          #本地更新文件保存会自动同步到远程文件(不会同步重命名文件和删除文件)
    "downloadOnOpen":false,         #填false就行,打开远程文件时自动将其下载到本地
    "watcher": {               #监视器(可以重命名文件和删除文件)
        "files": "**/*",            #监视项目根目录下所有文件是否更改。当然如果有需要你也可以把这里的值改成项目中某个文件或文件夹的相对路径,这样你的项目代码中只有你指定的文件或文件夹会被同步到远程
        "autoUpload": true,         #本地有更新操作时,远程自动更新(修改和重命名)
        "autoDelete": true,         #本地有删除操作时远程自动删除
    }
}
{
    "host": "远程服务器IP地址",
    "port": 22,
    "username": "远程服务器登录名",
    "password": "远程服务器密码",
    "protocol": "sftp",
    "agent": null,
    "privateKeyPath": null,
    "passphrase": null,
    "passive": false,
    "interactiveAuth": true,
    "remotePath": "远程服务器路径,如(/usr/local/...)",
    "uploadOnSave": true,
    "syncMode": "update",
    "ignore": [
        "**/.vscode/**",
        "**/.git/**",
        "**/.DS_Store"
    ],
    "watcher": {
        "files": "**/*",
        "autoUpload": true,
        "autoDelete": true
    }

}

5. 手动同步(可跳过不看)

Windows→Linux,本地同步到服务器,系统、环境,服务器Windows→Linux,本地同步到服务器,系统、环境,服务器

这里与Remote-SSH相反,SFTP不能直接修改远程文件,它的运作方式是本地修改自动同步到远程,远程修改手动下载到本地,可以单文件同步,也可以整个文件夹同步,非常灵活,免去文件传输。

远程目录和文件只用以下选项:

Windows→Linux,本地同步到服务器,系统、环境,服务器Windows→Linux,本地同步到服务器,系统、环境,服务器

本地目录和文件只用以下选项:

tip1:本地同步文件夹到远程也是在远程目录右击,而不是本地文件夹右击

tip2:配置文件里面参数"uploadOnSave": true就不需要手动上传到远程了,只有第一次需要“Upload Folder”把整个文件夹上传过去

Windows→Linux,本地同步到服务器,系统、环境,服务器Windows→Linux,本地同步到服务器,系统、环境,服务器Windows→Linux,本地同步到服务器,系统、环境,服务器

补充1:你在本地文件目录右键时或许会看到如下选项,你可以按需使用:

    sync both directions:将远程和本地的代码同步至二者一致(会提示哪边缺少文件)

    sync local -> remote : 远程同步到本地(只同步变化的地方,速度快)    

              sync remote -> local: 远程同步到本地(只同步变化的地方,速度快

    upload folder:远程文件夹同步到本地(不管有没有变化都会扫描整个文件夹,慢

    download folder:远程文件夹同步到本地(不管有没有变化都会扫描整个文件夹,慢

    这些选项,可以让你在比如本地代码误删、远程端添加了项目文件等情况下,从远程拷贝项目到本地文章来源地址https://www.toymoban.com/news/detail-843161.html

到了这里,关于Windows→Linux,本地同步到服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 银河麒麟V10SP1服务器系统同步外网源到本地

    系统环境:Kylin Linux Advanced Server release V10(SP1)/(Tercel)-aarch64-Build20/20210518 本文同步的是外网ARM的yum源仓库,若需要同步X86的yum源仓库,则需要修改yum配置文件的架构为X86,其他配置不变。 a)确定系统版本及网络情况 b)关闭系统防火墙和 selinux a)备份原yum配置文件 b)yum配

    2024年01月24日
    浏览(112)
  • (Windows )本地连接远程服务器(Linux),免密码登录设置

    在使用VScode连接远程服务器时,每次打开都要输入密码,以及使用ssh登录或其它方法登录,都要本地输入密码,这大大降低了使用感受,下面总结了免密码登录的方法,用起来巴适得很,起飞。 本地必须在PowerShell终端操控,如下: 打开终端后在终端输入以下命令: 回车再回

    2024年02月11日
    浏览(56)
  • 搭建FRP内网穿透服务器来远程访问本地windows/linux中的web服务

    什么是FRP? FRP 是一个免费开源的用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 http 和 https 协议提供了额外的支持。 FRP有服务端和客户端,你将服务端安装在你买的便宜云服务器上,FRP客户端安装在你自己的电脑上,配置好暴露的端口,就可以实现你访问服务器

    2024年02月05日
    浏览(55)
  • 用XAMPP在Windows系统构建一个本地Web服务器

    By Jackson@ML 本文简要介绍如何获取和安装XAMPP以实现Windows环境下本地Web服务器的过程,希望对广大网友和学生有所帮助。 所谓本地Web服务器,即使用本地主机名即可访问的Web站点,例如:在浏览器中打开https://127.0.0.1,或者https://localhost可打开的非空页面,就说明存在本地主机

    2024年02月04日
    浏览(51)
  • Syncthing实时共享同步数据 服务器数据备份软件 Syncthing开机自启动 修改端口(linux、windows)

    Syncthing是一个开源文件同步工具,可以在多台设备之间实时同步文件或文件夹。它可以帮助你自由地选择数据的存储位置、数据是否被第三方共享以及同步的数据如何在互联网上传输。 Syncthing使用P2P技术实现数据在设备间的同步,和传统的网盘不同,数据在同步的过程中并不

    2024年02月05日
    浏览(49)
  • 如何在Linux机器上使用ssh远程连接Windows Server服务器并使用rsync同步文件

       当前在研究goploy自动化开源部署工具,该工具部署在linux机器上,而要部署服务的目标服务器有一部分是windows server服务器,goploy自动化部署,使用rsync部署方式,底层依赖于ssh远程连接目标服务器,所以,要实现自动化部署,必须先实现ssh远程连接目标windows server服务器

    2024年02月05日
    浏览(70)
  • IDEA无公网环境ssh远程访问本地Linux服务器进行开发

    本文主要介绍如何在IDEA中设置远程连接服务器开发环境,并结合Cpolar内网穿透工具实现无公网远程连接,然后实现远程Linux环境进行开发。 IDEA的远程开发功能,可以将本地的编译、构建、调试、运行等工作都放在远程服务器上执行,而本地仅运行客户端软件进行常规的开发

    2024年02月03日
    浏览(54)
  • 【Windows 系统笔记】使用服务器运行装载AList+本地安装RaiDrive进行网盘本地挂载

    大家肯定很好奇我为什么要写一篇这样的文章,因为之前一直使用本地挂载网盘,但是使得电脑一直开着而且还使得不是很方便,所以一直没有使用,但是随着笔记本装的东西一多使得对云盘使用较多,可以直接后台上传就可以 一台一直运行的服务器 本地电脑已经安装本地挂

    2024年02月03日
    浏览(67)
  • Linux 环境下Docker将镜像打包导出到本地,上传至内网服务器(八)

    docker将镜像导出到本地,上传至内网服务器上 背景:在企业中往往出现了内网不能和外网相通,不能使用docker pull命令来拉取镜像,这个时候我们就可以考虑在有所需镜像的服务器上导出镜像,再将其上传到内网服务器上。 有两种方法,一种是通过容器,一种是通过镜像,其

    2024年02月13日
    浏览(44)
  • linux远程服务器和本地服务器相互之间传输文件方法SSH(乌班图系统)

    提前知道几点 : 1.使用的 MobaXterm软件 2.访问本地、远程服务器,需要账号和密码(远程机器上的 用户名和密码 远程机器的 IP 地址或主机名(在同一子网上))。每次访问需要输入密码,可以搜 Ubuntu SSH 免密登录 3.主要是先要访问本地服务器,才能访问远端服务器,显卡装

    2024年02月15日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包