一: rsync 基本使用方法*参数
rsync常用选项:
-a, --archive //归档
-v, --verbose //啰嗦模式
-q, --quiet //静默模式
-r, --recursive //递归
-p, --perms //保持原有的权限属性
-z, --compress //在传输时压缩,节省带宽,加快传输速度
--delete //在源服务器上做的删除操作也会在目标服务器上同步
--port //指定端口
二: 安装inotify-tools工具
//查看服务器内核是否支持inotify
[root@ayay-web ~]# ll /proc/sys/fs/inotify/
总用量 0
-rw-r--r-- 1 root root 0 4月 28 15:46 max_queued_events #设置inotify实例事件(event)队列可容纳的事件数量。
-rw-r--r-- 1 root root 0 4月 28 15:46 max_user_instances #设置每个用户可以运行的inotifywait或inotifywatch命令的进程数。
-rw-r--r-- 1 root root 0 4月 28 15:46 max_user_watches #设置inotifywait或inotifywatch命令可以监视的文件数量(单进程)
**如果有这个三个以max开头的文件,则表示服务器内核支持inotify**
#安装inotify的几种方法
#1.rpm安装包 -> 需要提前下载好rpm包,Github下载,需要具有访问github的网络
wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
tar xzvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify-3.14
make && make install
//2.yum安装 -> 提前配置好自己的镜像仓库源
# 检查自己的内核版本,如果低于2.6.13,就需要重新编译内核加入inotify的支持。
uname -r
# 备份本地源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
# 配置阿里的
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
# 如果阿里域名无法解析,配置以下文件
cat >> /etc/resolv.conf <
三: inotify参数配置(可选)
# 查看系统默认参数值
sysctl -a | grep max_queued_events
# 结果是:fs.inotify.max_queued_events = 16384
sysctl -a | grep max_user_watches
# 结果是:fs.inotify.max_user_watches = 8192
sysctl -a | grep max_user_instances
# 结果是:fs.inotify.max_user_instances = 128
# 修改参数:
sysctl -w fs.inotify.max_queued_events="99999999"
sysctl -w fs.inotify.max_user_watches="99999999"
sysctl -w fs.inotify.max_user_instances="65535"
####################
vi /etc/sysctl.conf #添加以下代码
fs.inotify.max_queued_events=99999999
fs.inotify.max_user_watches=99999999
fs.inotify.max_user_instances=65535
:wq! #保存退出
四: 创建脚本 && inotify基本命令使用
脚本的创建根据实际情况来决定:可选择nohup、crontab等工具
inotifywait命令参数
-m 是要持续监视变化。
-r 使用递归形式监视目录。
-q 减少冗余信息,只打印出需要的信息。
-e 指定要监视的事件列表。
--timefmt 是指定时间的输出格式。
--format 指定文件变化的详细信息。
–timefmt 说明:
Ymd分别表示年月日,H表示小时,M表示分钟
–format 说明:
参数 说明
%w 表示发生事件的目录
%f 表示发生事件的文件
%e 表示发生的事件
%Xe 事件以“X”分隔
%T 使用由–timefmt定义的时间格式
可监控的事件:
参数 说明
access 访问,读取文件。
modify 修改,文件内容被修改
attrib 属性,文件元数据被修改。
move 移动,对文件进行移动操作。
create 创建,生成新文件
open 打开,对文件进行打开操作
close 关闭,对文件进行关闭操作。
delete 删除,文件被删除。
########详细配置 https://blog.csdn.net/weixin_32722049/article/details/116582420 ######
语法格式:inotifywatch [参数]
常用参数:
-a 按指定事件计数的升序排序输出
--d 按指定事件计数的降序排序输出
-fromfile 从文件中读取需要监控的文件或排除的文件
-z 输出表格的行和列,即使元素为空
-r 监视一个目录下的所有子目录
-t 设置超时时间
-e 只监听指定的事件
-- -exclude 不处理文件名与指定的POSIX扩展,区分大小写
-- -excludei 不处理文件名与指定的POSIX扩展,不区分大小写
五: 交互式 ?? 非交互式
- 交互式的操作可以在脚本中使用expect命令,从而达到全自动的效果。
expect 命令的具体使用方法 — (后期整理) - 非交互式可以选择
2.1 在rsync的配置中配置相关的目录、用户、密码等信息。
2.2 配置密钥认证