• rsync实现服务器之间同步目录文件


    一般情况下

    服务环境一般有三种

    1. dev   开发环境
    2. test   测试环境
    3. prod    生产环境

    环境多了,不可避免的事是一些重复的操作,部署什么的

    能不能在开发环境打包后,直接同步到测试环境呢?(毕竟重复的事干的多了是会烦的)

    是可以的

    linux下可以直接使用rsync命令

    windows下可以安装cygwin来实现

    copy一张图片 

     这里记录下同步到远程服务器的操作,也就是图上的push推

    拿两台服务器

    本地:192.168.1.10

    远程:192.168.1.130

    需求:将192.168.1.10的/opt/vue/index.html文件 和 /opt/vue/static目录同步到远程192.168.1.130的/opt/dist目录下

    操作:

    rsync -avP -e "ssh -i ~/.ssh/130/my.pem" /opt/vue/static /opt/vue/index.html root@192.168.1.130:/opt/dist

    参数说明

    • -a --archive  :归档模式,表示递归传输并保持文件属性。等同于"-rtopgDl"
    • -v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息
    • -P:显示文件传输的进度信息。(实际上"-P"="--partial --progress",其中的"--progress"才是显示进度信息的)
    • my.pem文件是登录192.168.1.130服务器的私钥,生成方式可以查看这篇文章 ssh通过pem文件登陆服务器 

    既然想实时操作,并不想每次都执行这么个脚本怎么办

    配合linux定时任务 crontab,定时执行即可

     方式:将命令写入一脚本中,定时执行即可

    cd /root
    
    vim rsync-vue-130.sh //写入rsync -avP -e "ssh -i ~/.ssh/130/my.pem" /opt/vue/static /opt/vue/index.html root@192.168.1.130:/opt/dist
    // crontab -e 编辑定时任务,写入,如下为每两分钟同步一次
    
    */2 * * * *  /root/rsync-vue-130.sh

    如果是windows环境的话,需要安装cygwin,这样就会在windows平台提供了linux环境了

    如图:

    安装可以参考https://blog.csdn.net/heshushun/article/details/78664384

    perfect!!!

  • 相关阅读:
    企业年金个税计算问题解读
    无线共享代码
    解决IE只能用管理员身份运行才能正常
    关于系统安装经验总结
    T-SQL 中Float数据类型的奇葩四舍五入
    win7 enterprise key backup
    IOS-触摸手势
    IOS-尺寸
    iOS开发-object-c之 @[], @{}
    IOS-电话和短信功能
  • 原文地址:https://www.cnblogs.com/chywx/p/11996819.html
Copyright © 2020-2023  润新知