亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

Linux系統文件同步方法

2024-11-29 09:11:17
19
0

工具介紹

inotify-tools

inotify - tools 是一個基于 Linux 內核的 inotify 機制開發的工具集,包含兩個主要的命令行工具:inotifywaitinotifywatch. inotifywait用于等待文件系統的特定事件,它會阻塞執行,直到監控的事件發生,比如文件創建,刪除,更新等,等到監控的事件發生后,就執行相應的操作。inotifywatch`用于收集文件系統事件的統計信息,比如在一段時間內某個目錄下發生了多少次文件修改等。

rsync

rsync 是linux系統中一個功能強大的文件同步工具。它不僅可以在本地的不同目錄之間,還可以通過網絡在不同的主機之間同步文件和目錄。它通過比較源文件和目標文件的差異部分,只傳輸有變化的部分,從而大大提高了同步的效率。

編寫同步腳本

本地同步

本地同步的腳本如下:

#!/bin/bash
# 源目錄
SOURCE_DIR="/source/dir"
# 目標目錄
DEST_DIR="/destination/dir"
inotifywait -mrq -e create,delete,close_write $SOURCE_DIR |
while read line; do
    rsync -avz --delete $SOURCE_DIR $DEST_DIR
done

遠程同步

與本地同步不同,遠程同步首先需要在遠程機器上配置和開始rsync服務。

配置和開啟rsync服務

在 /etc/rsyncd.conf 文件下面添加添加以下內容:

pid file=/var/lock/subsys/pidfile
lock file=/var/lock/subsys/rsync
log file=/var/log/rsync
uid=nobody
gid=nogroup
fake super = yes
timeout=1000
address=0.0.0.0
# 允許連接到rsync的最大連接數
max connections=199
[rulesDir] # 定義模塊
# 模塊對應的目的目錄
path=${destDir}
list=no
use chroot=yes
read only=no
# rsync連接的用戶
auth users=xxx
# rsync連接的密碼
secrets file=/etc/rsyncd.pwd
#允許同步的網段
hosts allow=`192.168.1.0/24`

配置完后,啟動rsyncd服務:

systemctl start rsyncd

遠程同步腳本

inotifywait -mrq -e create,delete,close_write $SOURCE_DIR |
while read line; do
       rsync -avz  --delete $dir ${rsync_user}@$remote_host::${rsync_module} --password-file=${rsync_password}
done
0條評論
0 / 1000
哈哈嗯啦
2文章數
0粉絲數
哈哈嗯啦
2 文章 | 0 粉絲
哈哈嗯啦
2文章數
0粉絲數
哈哈嗯啦
2 文章 | 0 粉絲
原創

Linux系統文件同步方法

2024-11-29 09:11:17
19
0

工具介紹

inotify-tools

inotify - tools 是一個基于 Linux 內核的 inotify 機制開發的工具集,包含兩個主要的命令行工具:inotifywaitinotifywatch. inotifywait用于等待文件系統的特定事件,它會阻塞執行,直到監控的事件發生,比如文件創建,刪除,更新等,等到監控的事件發生后,就執行相應的操作。inotifywatch`用于收集文件系統事件的統計信息,比如在一段時間內某個目錄下發生了多少次文件修改等。

rsync

rsync 是linux系統中一個功能強大的文件同步工具。它不僅可以在本地的不同目錄之間,還可以通過網絡在不同的主機之間同步文件和目錄。它通過比較源文件和目標文件的差異部分,只傳輸有變化的部分,從而大大提高了同步的效率。

編寫同步腳本

本地同步

本地同步的腳本如下:

#!/bin/bash
# 源目錄
SOURCE_DIR="/source/dir"
# 目標目錄
DEST_DIR="/destination/dir"
inotifywait -mrq -e create,delete,close_write $SOURCE_DIR |
while read line; do
    rsync -avz --delete $SOURCE_DIR $DEST_DIR
done

遠程同步

與本地同步不同,遠程同步首先需要在遠程機器上配置和開始rsync服務。

配置和開啟rsync服務

在 /etc/rsyncd.conf 文件下面添加添加以下內容:

pid file=/var/lock/subsys/pidfile
lock file=/var/lock/subsys/rsync
log file=/var/log/rsync
uid=nobody
gid=nogroup
fake super = yes
timeout=1000
address=0.0.0.0
# 允許連接到rsync的最大連接數
max connections=199
[rulesDir] # 定義模塊
# 模塊對應的目的目錄
path=${destDir}
list=no
use chroot=yes
read only=no
# rsync連接的用戶
auth users=xxx
# rsync連接的密碼
secrets file=/etc/rsyncd.pwd
#允許同步的網段
hosts allow=`192.168.1.0/24`

配置完后,啟動rsyncd服務:

systemctl start rsyncd

遠程同步腳本

inotifywait -mrq -e create,delete,close_write $SOURCE_DIR |
while read line; do
       rsync -avz  --delete $dir ${rsync_user}@$remote_host::${rsync_module} --password-file=${rsync_password}
done
文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
1
0