ubuntu

Ubuntu inotify与rsync结合使用

小樊
37
2025-09-14 23:04:39
栏目: 智能运维

在Ubuntu系统中,inotifyrsync可以结合使用以实现高效的文件同步

inotify是Linux内核提供的一种文件系统事件监控机制,可以实时监控文件或目录的变化,如创建、删除、修改等。rsync是一个强大的文件同步工具,可以在本地或远程之间同步文件。

要结合使用inotifyrsync,你可以使用inotifywait命令(需要安装inotify-tools包)来监控文件变化,并通过管道将事件传递给rsync命令进行同步。

以下是一个简单的示例,当监控目录/path/to/source中的文件发生变化时,将自动同步到远程目录/path/to/destination

#!/bin/bash

SOURCE_DIR="/path/to/source"
DEST_DIR="/path/to/destination"
REMOTE_USER="remote_user"
REMOTE_HOST="remote_host"

inotifywait -m -r -e create,delete,modify --format '%w%f' "${SOURCE_DIR}" | while read FILE
do
    rsync -avz --delete "${SOURCE_DIR}/" "${REMOTE_USER}@${REMOTE_HOST}:${DEST_DIR}/"
done

在这个示例中:

请根据实际需求修改示例中的路径、用户名和主机名。将此脚本保存为sync.sh,并通过chmod +x sync.sh使其可执行。然后运行脚本即可实现实时同步。

0
看了该问题的人还看了