Rsync + inodify to realize File synchronization
My configuration:
An is the server
B is the client
For the configuration of An and B, please refer to rsync+ssh
Because rsync uses ssh channel, the server side of rsync does not need to be configured or started. Rsync uses the port where ssh is located when transmitting.
The script I wrote on the A side
#! / bin/bash
Host1=192.168.2.81
Src=/data/crash
St1=/data/crash
User=root
/ usr/local/bin/inotifywait-mrq-- timefmt'% d/%m/%y% HGV% M'-- format'% T% w% f% e'-e modify,delete,create,attrib $src\
| | while read files |
Do
/ usr/bin/rsync-vzrtopg-- delete-- progress $src-e ssh $user@$host1:$dst1
Echo "${files} was rsynced"
Done
Function: synchronize the files under / data/crash on the A side to 192.168.2.81 under / data/crash