准备

一台ubuntu20服务器

  • 服务器上开启ssh
  • 服务器上配置rsync服务端
  • 服务器上配置项目运行所需的所有环境(java,mysql,redis,…)
    一台windows电脑
  • 电脑上配置rsync客户端
  • 电脑上配置idea的run target ssh方式

服务器ssh

# 安装ssh客户端
sudo apt-get install openssh-client
# 安装ssh服务端
sudo apt-get install openssh-server
# 查看是否在运行
ps -e |grep ssh
# 没有运行则启动ssh
sudo service ssh start

服务器rsync服务端

rsync,增量数据同步工具。使用rsync算法增量同步本地和远程主机之间的文件,比scp数据同步工具省时
ubuntu默认安装了rsync,只是没有启动

步骤:

# 1. 安装rsync,如果没有安装
sudo apt-get install rsync
# 2. 启动rsync:打开rsync》编辑rsync
## 打开rsync
sudo vim /etc/default/rsync
## 编辑rsync
RSYNC_ENABLE=true
# 3. 创建/etc/rsyncd.conf》填写配置信息
## 创建/etc/rsyncd.conf
sudo vim /etc/rsyncd.conf
## 填写配置信息
见下/etc/rsyncd.conf
# 4. 创建/etc/rsyncd.secrets》填写密码
## 创建/etc/rsyncd.secrets
sudo vim /etc/rsyncd.secrets
## 填写密码
见下/etc/rsyncd.secrets
# 4. 更改/etc/rsyncd.secrets文件权限
sudo chmod 600 /etc/rsyncd.secrets 
# 5. 启动rsync
sudo /etc/init.d/rsync start
# 6. 检查启动成功

/etc/rsyncd.conf:打!的内容是必须要修改的

# pid文件存放位置
pidfile = /var/run/rsyncd.pid
# rsync启动时欢迎信息页面文件位置(自定义文件内容)
# motd file = /etc/rsyncd.motd
# 日志文件位置,启动rsync后自动创建
log file = /var/log/rsync.log
# 记录传输文件日志
transfer logging = yes
# 日志文件格式
log format = %t %a %m %f %b

# 超时时间
timeout = 300
# 最大连接数
max connections = 10
# 支持max connections参数的锁文件
lock file = /var/lock/rsyncd.lock
# 不同步的文件或目录
# exclude = lost+found/
# 设置不需要压缩的文件
dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
# 避免中文乱码
# charset = GB18030
# 默认为yes,提升安全性。为yes时,客户端连接模块,首先chroot到模块path参数指定的目录下,为yes时必须使用root权限,且不能备份path 。为no时增加对目录文件软连接的备份,路径外的链接文件
# use chroot = yes
# 设置rsync运行权限为root
uid = root
# 设置rsync运行权限为root
gid = root
# !用户认证配置文件,保存用户名称和密码,后面将创建这个文件。
secrets file = /etc/rsyncd.secrets

# !模块名
[project] 
	# !注释
	comment = myproject
	# !rsync服务端数据目录路径
	path = /home/xcrj/project/
	# !白名单,允许的主机列表
	hosts allow = 10.130.32.4/24
	# 黑名单,禁止的主机列表
	hosts deny = *
	# 设置rsync服务端文件是否只读
	read only = no
	# 是否显示rsync服务端资源列表
	list = yes
	# !模块验证的用户名称,可使用空格或者逗号隔开多个用户名,必须和 rsyncd.secrets中的用户名对应
	auth users = xcrj
	# 忽略错误
	# ignore errors

/etc/rsyncd.secrets

xcrj:12345678

服务端运行环境

java
mysq
redis

电脑rsync客户端

windows电脑rsync免费客户端“”

步骤:

  1. 官网下载地址
  2. 安装:双击cwrsync.cmd产生home目录
  3. 配置环境变量:添加cwrsync的bin路径“D:\ProgramFiles\cwrsync_5.5.0_x86_free\bin”
  4. 测试环境变量生效:rsync -n -e "ssh -p 2222 " xcrj@10.130.32.4 未提示找不到rsync即表示成功
  5. 补充:win环境变量配置之后,有可能需要重启电脑,使得环境变量生效


电脑idea

步骤:

  1. 点击“Edit Configurations”
  2. 点击“run target”》“SSH”
  3. 输入“SSH”所需内容
  4. 配置服务器JDK路径和JDK版本,JDK路径到bin上一级
  5. 点击Finish
  6. 点击run或Debug,将使用rsync传输win上项目文件到服务端path = /home/xcrj/project/参数路径下,等待传输完成后,将自动在服务端启动项目

idea R语言 启动_服务器


idea R语言 启动_服务端_02


idea R语言 启动_ssh_03


idea R语言 启动_服务器_04


idea R语言 启动_idea R语言 启动_05

问题

rsync本身增量备份,但对maven依赖jar每次运行项目都会上传,run target SSH using rsync并不是一种好的方式。推荐尝试idea client方式。