rsync結合 inotfiy 實現實時備份

2021-10-21 11:24:39 字數 2809 閱讀 6144

rsync簡介:

rsync是linux系統下的資料映象備份工具。使用快速增量備份工具remote sync可以遠端同步,支援本地複製,或者與其他ssh、rsync主機同步

inotify簡介:

inotify 是一種強大的、非同步的檔案系統事件監控機制,通過inotify可以監控檔案系統中新增、刪除,修改、移動等各種細微事件,利用這個核心介面,第三方軟體就可以監控檔案系統下檔案的各種變化情況

ip位址

角色192.168.153.180

備份源 sync client + inotify

192.168.153.181

備份端 rsync server

兩台機器均關閉防火牆和selinux

關閉防火牆

systemctl stop firewalld
關閉selinux

setenforce 0
yum -y install

rsync

vim /etc/rsyncd.conf
修改後內容如下:(!複製之後刪掉注釋才可使用,不然格式會有問題)

uid=root

gid=root

use chroot

= no

max connections = 10

strict modes =

yespid file

= /var/run/rsyncd.pid

lock file

= /var/run/rsyncd.lock

log file

= /var/log/rsyncd.log

[rsync]

path = /opt #備份路徑

comment =

rsync

ignore errors #跳過錯誤

read only = no #讀

write only = no #寫

hosts allow = 192.168.153.180 #備份源ip

list =

false

auth users

= rsync_user #使用者

secrets file

= /etc/rsync.password #密碼路徑

echo

"rsync_user:123"

> /etc/rsync.password

chmod 600 /etc/rsync.password
rsync --daemon
netstat -ntlp|grep 873

tcp 0

00.0

.0.0

:873

0.0.0.0:

* listen 1583

/rsync

tcp6 00::

:873:::

* listen 1583

/rsync

yum -y install  epel-release
yum -y install inotify-tools rsync
echo

"123"

> /etc/rsync.password

chmod 600 /etc/rsync.password
vim inotify.sh
#!/bin/bash

ip=192.168.153.181 #備份端ip

src=/opt/rsync_src #資料目錄

dst=rsync

user=rsync_user # 使用者

/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %h:%m' --format '%t %w%f' -e modify,delete,create,attrib $

|while

read

file

dorsync -vzrtopg --delete --progress $src

$user@

$ip::$dst --password-file=/etc/rsync.password > /dev/null &&

echo

"$src was rsyncd"

done

mkdir /opt/rsync_src
sh inotify.sh
cd /opt/rsync_src

echo 111 > 1.txt

echo 222 > 2.txt

ls /opt/rsync_src/

1.txt 2.txt

cd /opt/rsync_src

rm -f 1.txt

在備份端檢視已經同步刪除

ls /opt/rsync_src/

2.txt

python結合mitmproxy抓包實踐

下面開始編寫 python指令碼抓取剛才上面那個包含加密引數的請求url位址,指令碼內容儲存在mitm addons.py檔案中。filter host www.iesdouyin.com 目標主機 url paths web api v2 aweme post user id 網頁 路徑指紋 對上...

AcceptEx與完成埠(IOCP)結合例項

前言在windows平台下實現高效能網路伺服器,iocp 完成埠 是唯一選擇。編寫網路伺服器面臨的問題有 1 快速接收客戶端的連線。2 快速收發資料。3 快速處理資料。本文主要解決第乙個問題。acceptex函式定義 bool acceptex socket slistensocket,socket...

SSH埠更改後的rsync替代scp實現斷點續傳

linux 主機之間即時傳送檔案,scp命令大家都很熟悉 但當要傳送的檔案較大,過程中如果網路中斷了,就比較悲劇了。這時候可以考慮使用rsync命令替代scp,實現斷點續傳檔案。rsync的有兩種常用的認證方式,一種為rsync的守護方式,另外一種則是ssh。在一些場合,使用rsync的守護方式會比...