lsyncd —— 多機器實時同步文件神器

来源:https://www.cnblogs.com/shockerli/archive/2018/12/13/linux-tool-lsyncd.html
-Advertisement-
Play Games

lsyncd 是一個支持實時、雙向、多機器的多模式文件同步工具。 ...


lsyncd 是一個支持實時、雙向、多機器的多模式文件同步工具。

使用 Lua 語言封裝了 inotify 和 rsync 工具,採用了 Linux 內核(2.6.13 及以後)里的 inotify 觸發機制,然後通過 rsync 去差異同步,達到實時的效果。

安裝

在源文件伺服器上安裝:

yum -y install lsyncd

配置

lsyncd 主配置文件,假設放置在/etc/lsyncd.conf:

settings {
    nodaemon = false,
    logfile = "/var/log/lsyncd.log",
    statusFile = "/var/log/lsyncd.status",
    inotifyMode = "CloseWrite",
    maxProcesses = 8
}

-- 可以有多個sync,各自的source,各自的target,各自的模式,互不影響。
sync {
    default.rsyncssh,
    source    = "/home/wwwroot/web1/",
    host      = "111.222.333.444",
    targetdir = "/home/wwwroot/web1/",
    -- 忽略文件路徑規則,可用table也可用外部配置文件
    -- excludeFrom = "/etc/lsyncd_exclude.lst",
    exclude = {
        ".svn",
        "Runtime/**",
        "Uploads/**",
    },
    -- maxDelays = 5,
    delay = 0,
    -- init = false,
    rsync = {
        binary = "/usr/bin/rsync",
        archive = true,
        compress = true,
        verbose = true,
        _extra = {"--bwlimit=2000"},
    },
}

忽略規則

需要忽略同步的文件或文件夾,excludeFrom 選項才配置該文件,exclude 類型的配置不用該配置文件。假設配置文件放在/etc/lsyncd_exclude.lst

.svn
Runtime/**
Uploads/**

免密登錄

為避免每次都需要手動輸入密碼,可設置為 SSH 免密登錄。

啟動

lsyncd -log Exec /etc/lsyncd.conf

參考


原文地址: https://shockerli.net/post/linux-tool-lsyncd/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Ocelot是一個基於netcoreapp2.0構建,.NET Core框架下的開源Api網關項目,用於開發基於.NET微服務架構或面向服務架構系統的統一入口。 ...
  • 過濾器,從我們開始開發 Asp.Net 應用程式開始,就一直伴隨在我們左右;Asp.Net Core 提供多種類型的過濾器,以滿足多種多樣的業務應用場景;並且在 Asp.Net Core 本身,過濾器的應用也非常廣泛;但是,在實際的業務場景中,大部分開發人員只使用到其中 1 到 2 種類型,當然,這... ...
  • 使用Graphics類中的DrawImage方法,這個方法有30種重載方式,這裡只介紹一種,也是我認為最直觀的一種,代碼如下: 1 using System.Drawing; 2 3 namespace kq.Utils 4 { 5 public static class CommonTools 6 ...
  • 前段時間,研究了一下mvc路由配置偽靜態,在網上扒了很多最後還是行不通,所以我現在把這些心得整理出來,供大家分享: 1、mvc中預設路由配置是:http://localhost:24409/Home/Index routes.MapRoute( name: "Default", url: "{con ...
  • 連接字元串 public static string connString = "User ID=DatabaseName;Password=OraclePwd;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP) ...
  • 這種模式只會讓人繞彎路 什麼聚合根, 什麼倉儲 ! 實現這些有個J8用? EF本身就是倉儲模式 你說是為了切換不同資料庫吧 統一事物?我TM 用Sqsugar一樣能平滑切換和統一事物, 還不用改代碼 你們封裝的又醜 還要在別人已經完善的產品上再封裝一層自己的 調用更噁心很簡單直白的一個項目 被你們這 ...
  • 實際測試工作中偶爾會需要搭建Web伺服器環境,由於Mac OS X自帶了Apache和PHP環境,只需要簡單的啟動就可以。 開啟Apache 開啟Web伺服器的方法有兩種(預設啟動埠號是80): 打開:系統偏好配置 —— 共用 —— Web共用 終端可以通過Apache啟動命令打開:sudo ap ...
  • 本教程是在red hat linux 6.0環境下簡單測試!教程沒有圖片演示,需要具有一定Linux基礎知識,很多地方的配置需要根據自己的情況修改,照打不一定可以配置成功。(其他不足後續修改添加) yum安裝的配置 編輯文件 #vi /etc/yum.repos.d/packagekit-media ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...