首页 > 系统相关 >linux本地文件夹双向同步

linux本地文件夹双向同步

时间:2023-02-14 17:23:25浏览次数:37  
标签:unison 同步 syncto linux sh 文件夹 双向 运行

前言

​ 开发时习惯将所有项目将在统一文件夹下,运行目录在其它目录;如果每次修改后又copy到运行目录就很蛋疼,于是找到了同步本地文件夹这个解决方法。监听工作目录的文件修改,同步到运行目录。

思路

  • 用inotify监控文件夹,如果文件夹内有文件变化则输出变化情况
  • 每当inotify检测到文件变化时,就调用unison,把当前文件夹的变化发给另一个文件夹
  • 创建两个进程分别进行单向同步,从而变成了双向同步。

程序安装

sudo apt install -y inotify-tools unison

单向同步

将下面代码保存为syncto.sh

#/bin/bash

# $1: from 工作文件夹
# $2: to 运行文件夹
unison -batch $1 $2
inotifywait -mrq -e create,delete,modify,move $1 | while read line; do
        unison -batch $1 $2
done

运行

  • 单向同步

    1. 运行 nohup syncto.sh 工作文件夹 运行文件夹 &
  • 双向同步

    1. 将下面代码保存为syncboth.sh

      nohup syncto.sh $1 $2 &
      nohup syncto.sh $2 $1 &
      
    2. 运行bash syncboth.sh 工作文件夹 运行文件夹

注意

工作文件夹、运行文件夹都必须使用绝对路径。

标签:unison,同步,syncto,linux,sh,文件夹,双向,运行
From: https://www.cnblogs.com/boyane/p/17120250.html

相关文章

  • Linux系统的网卡路由配置
    (Linux系统的网卡路由配置)一、查看系统路由[root@control~]#route-nKernelIProutingtableDestinationGatewayGenmaskFlagsMetricRef......
  • 我常用的Linux快捷命令
    alias设置快捷自定义命令语法:alias快捷命令=‘完整命令’因为可以直接把上述当成一条语句来执行,但是服务器重启之后会失效,被称为临时快捷命令;但是!将他写入~/.b......
  • Linux下配置网络参数常用的两种方式!
    Linux系统下配置网络参数的方式主要分为两种:临时性网络配置、永久性网络配置,接下来我们通过这篇文章为大家详细的讲解一下,有需要的朋友可以认真阅读一下。Linux下配......
  • linux 防火墙
    前言centos7已经开始使用firewall作为防火墙,而不是iptablessystemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体查看防火墙的状......
  • linux源码解析09–缺页异常之文件映射
    接上篇https://www.daodaodao123.com/?p=776本篇解析文件映射。1.文件映射触发条件(1)pte表项为空,且vma->vm_ops不为空,属于文件映射;(2)pte表项为空,且vma->vm_ops为空,属......
  • jenkins 上传windows文件到Linux 服务器中
    下载工具pscphttps://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html下载后,是一个exe文件pscp.exe,把pscp.exe直接复制到C:\Windows\System32下,这样在使......
  • Linux下查看某个进程文件的启动位置
    有时候我们在查看某个进程的时候,发现这个进程并没有完成的启动路径那我们需要对这个文件进行重启,就需要确认到这个程序的启动位置可以采用以下方法找到进程ID,进入【/proc/进......
  • Linux帐号管理[下]--用户组管理
    摘要:本文简要介绍了Linux帐号管理的用户组管理。Linux:Ubuntu10.0.41.新增用户组:groupaddUsage:groupadd[options]Options:-f,--forceexitsuccessfullyifthe......
  • linux 基本命令
    本文章用于初次接触Linux系统基本命令的学习,仅供参考,如有错误,欢迎留言指正。ls:list的缩写,列出目录与文件 ls-a:列出当前目录下所有的文件ls-l:......
  • Linux 作业1
    教材44页。8、题目:Linux系统的目录/usr、/home、/bin、/dev、/var、/etc中主要存放什么文件?Linux系统的目录中/usr:存放用户安装的软件,用户安装的软件一般位于此目录;/h......