In Centos, Rsync is configured in real-time with Inotify (used when the data volume is small)

Source: Internet
Author: User
Tags chmod inotify svn centos rsync man rsync

Configure Rsync first, as mentioned in the previous section.

Inotify

Install and configure the inotify service

Build the inotify service on 8.8.8.110

1. Download and install

The code is as follows: Copy code

Wget http://nchc.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz

Tar xzvf inotify-tools-3.13.tar.gz

Cd inotify-tools-3.13

./Configure -- prefix =/usr/local/inotify

Make

Make install

2. Create an inotify_rsync.sh script

(It is best to create a file directly on the server. The. sh file created on windows may not be executed and the conversion format needs to be modified.
Solution:
Vi filename
Run the following command:
: Set ff? # You can see the dos or unix words. If it is in dos format
Then use
: Set ff = unix # force it to unix format, and then save the disk and exit.
Run the script again .)

The code is as follows: Copy code

Vi inotify_rsync.sh
The following is the script content ---------------------------------------
#! /Bin/sh
# Date:
# Function: rysnc 8.8.8.110 to 8.8.8.111

If [! -F/etc/passwd.txt]; then
Echo "mypassword">/etc/passwd.txt
/Bin/chmod 600/etc/passwd.txt
Fi
Log =/opt/logs/rsync. log
Src = "/home/DemoRoot/Uploads /"
Host = "8.8.8.111"
Module = "home_www"

/Usr/local/inotify/bin/inotifywait-mr -- timefmt '% d/% m/% y % H: % M' -- format' % T % w % F'-e close_write, modify, delete, create, attrib $ src | while read date dir file; do

FILECHANGE =$ {DIR }$ {FILE}

/Usr/bin/rsync-avH -- delete -- progress -- password-file =/etc/passwd.txt $ src root @ $ host ::$ module &
Echo "At $ {TIME} on $ {DATE}, file $ FILECHANGE was backed up via rsync" >>$ log
Done

Script Ended ------------------------------------------------
The related annotations are as follows:
/Usr/local/bin/inotifywait-mrq-e modify, delete, create, attrib $ {src}
-M: Keep Listening
-R is used to recursively View directories.
-Q indicates the output event.

-E close_write, modify, delete, create, and attrib are the "listening for creating a mobile delete write permission" event.
/Usr/bin/rsync-avH -- delete -- progress -- password-file
-A Archive mode
-H save the hard connection
-Delete: delete unnecessary files.
-- Password-file: password file
The parameter can be man rsync

When synchronizing a directory, add the -- exculde = PATTERN parameter to rsync. Note that the path is relative. For details, see man rsync.
To exclude the processing of event listening in a directory, add the -- exclude or -- excludei parameter for inotifywait. For details, see man inotifywait.
-- Exclude-from = "/usr/local/inotify/logs/rules.txt:
For example, exclude files including. svn:
# Cat/usr/local/inotify/logs/rules.txt
-*. Svn *

The inotifywait command generates three return values: "date, time, and file", which are passed as parameters to read, therefore, the "while read d e f" statement in the script details the return value.

Grant the script executable permission
Chmod-R 755 inotify_rsync.sh
Run
Nohup/opt/inotify_rsync.sh &
Display process List
Ps-ef | grep inotify_rsync
Show Logs
Tail-f/opt/logs/rsync. log

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.