Detailed explanation of Linux inotify real-time backup implementation method

Detailed explanation of Linux inotify real-time backup implementation method

Real-time replication is the most important way to back up enterprise data. It is mainly used to back up data submitted by users. For ordinary files (pictures, compressed packages, videos, documents, etc.) submitted by users to the server, the inotify/sersync+rsync real-time backup method can be used; for data files, there are more complex distributed storage tools that can back up data into multiple copies at the same time, such as: FastDFS, GlusterFS, etc.; for data submitted to the database, the master-slave replication of the database (for example: MySQL, Oracle) can be used for backup, which is the real-time replication backup method that comes with the software. Some companies will adopt more ideas to realize that data is converted into multiple copies at the same time. For example, when submitting data, the program business logic is submitted to two servers at the same time.

Simulate real-time replication deployment preparation

Real-time replication software introduction

Commonly used software: inotify-tools, sersync (recommended)

Introduction to the real-time replication inotify mechanism

The Linux kernel has added Inotify support since 2.6.13. It is an asynchronous system event monitoring mechanism. Through inotify, various events such as adding, deleting, modifying, and moving in the file system can be monitored. Using this kernel interface, third-party software (such as inotify-tools, sersync) can monitor the changes of various files in the file system and make real-time responses.

Note: The sersync software is developed based on inotify, and has more powerful functions. It supports configuration files, scheduled retry replication, filtering mechanism, provides interfaces for CDN data updates, and supports multi-threaded operations.

Pros and Cons

Advantages of inotify: monitor changes in file system events and achieve real-time data replication through replication tools. Supports multi-threaded real-time replication.

Disadvantages of inotify: If the number of concurrent copies is greater than 200 files (10-100k), there will be a delay in copying.

Solution: Buy time at the front desk. For example, after we register an account or upload data and click Submit, the page will display for a few seconds and then return to the original page.

inotify+rsync project practice

1. Ensure that the rsync service is available and that data can be pushed and pulled from the nfs01 server to the backup server.

2. Check system support

①The kernel version must be greater than 2.6.13 ②The following three files must be present

3. Test the inotify-tools software

[root@nfs01 ~]# yum install inotify-tools -y

Open two windows to test:

Writing the script:

Note: Open another nfs01 window to create, modify, and delete files, and check whether they are synchronized in real time on the backup server.

4. Test the sersync software

Upload Package

Unzip

tar -xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /application/sersync/

The configuration file of sersync is an XML file. Back it up first. cp confxml.xml{,.ori}

Modify the configuration file (enter :set nu to display line numbers):

implement

Because sersync is not installed by yum, you cannot use the systemctl command to start, stop, or restart

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Linux uses Rsync+Inotify to achieve real-time synchronization of local and remote data
  • Use Pyinotify module in Linux to monitor file system changes in real time
  • How to use Linux inotify to monitor file status
  • Using rsync+inotify in Linux system to achieve real-time synchronization of files between servers
  • Automatically synchronize web pages in Linux system through rsync+inotify
  • Realize real-time data backup through rsync+inotify under Linux (remote disaster recovery backup system)

<<:  Summary of basic knowledge points of MySql database

>>:  js to realize the rotation of web page pictures

Recommend

Implementation of MySQL Multi-version Concurrency Control MVCC

Table of contents What is MVCC MVCC Implementatio...

MySQL replication table details and example code

MySQL replication table detailed explanation If w...

Pitfall notes of vuex and pinia in vue3

Table of contents introduce Installation and Usag...

Complete steps to install mysql5.7 on Mac (with pictures and text)

I recently used a Mac system and was preparing to...

How to optimize MySQL group by statement

In MySQL, create a new table with three fields, i...

Detailed explanation of nmcli usage in CentOS8

Common nmcli commands based on RHEL8/CentOS8 # Vi...

Use of MySQL SHOW STATUS statement

To do MySQL performance adjustment and service st...

Detailed explanation of how to mount remote file systems via SSH on Linux

Features of SSHFS: Based on FUSE (the best usersp...

MySQL GTID comprehensive summary

Table of contents 01 Introduction to GTID 02 How ...

CSS3 to achieve simple white cloud floating background effect

This is a very simple pure CSS3 white cloud float...

Detailed process of FastAPI deployment on Docker

Docker Learning https://www.cnblogs.com/poloyy/p/...

Solve the mobile terminal jump problem (CSS transition, target pseudo-class)

Preface Many friends who have just come into cont...

Detailed explanation of the implementation of MySQL auto-increment primary key

Table of contents 1. Where is the self-incremente...