一、rsync
1.1rsync是啥
相当于cp、scp、rm等工具,但优于这些工具,主要用在数据备份
1.2、rsync安装
yum -y install rsync
--update 客户端删除文件 ,服务端不会删除,如果客户端再创建同名文件 ,会覆盖服务端文件
1.3、Rsync 服务器端配置修改
vi /etc/rsyncd.conf
如下注释要删掉,不然 不能用。。 ##rsyncd.conf start## uid = rsync ##进程对应的用户,是虚拟用户。远端的命令使用rsync访问共享目录 gid = rsync ##进程对应的用户组。 use chroot = no ##安全相关 max connections = 200 ##最大连接数 timeout = 300 ##超时时间 pid file = /var/run/rsyncd.pid ##进程对应的进程号文件 lock file = /var/run/rsyncd.lock ##锁文件 log file = /var/log/rsyncd.log ##日志文件 [bk] ###模块名称,对应客户端 rsync -avz /tmp/ rsync_backup@47.106.130.253::bk path = /backup ###服务器提供访问的目录 ignore errors ##忽略错误 read only = false ##可写 list = false ##不能列表 hosts allow = 172.16.1.0/24 ##允许的ip地址 ##hosts deny = 0.0.0.0/32 auth users = rsync_backup ##虚拟用户 secrets file = /etc/rsync.password ###虚拟密码
参考:https://blog.csdn.net/qq_41816540/article/details/80611757
#创建用户 useradd rsync -s /sbin/nologin -M #创建目录 mkdir /backup chown -R rsync.rsync /backup/ #创建密码 echo "rsync_backup:123456" >>/etc/rsync.password chmod 600 /etc/rsync.password #启动服务 rsync --daemon ps -ef |grep rsync|grep -v grep ##查看进程有没有启动 netstat -lntup|grep rsync #加入开机启动 systemctl enable rsyncd.service
1.4、启动rsync服务端
#centos7启动
systemctl start rsyncd.service
1.5、rsync客户端命令
推拉都是客户端操作
·
rsync中的-delete参数是指“ 删除那些DST中SRC没有的文件”
#创建客户端密码文件
echo "oldboy" >>/etc/rsync.password
chmod 600 /etc/rsync.password
rsync -avz /tmp/ rsync_backup@47.106.130.253::bk --password-file=/etc/rsync.password
#排除某个文件
rsync -avz --exclude=a /tmp/ rsync_backup@47.106.130.253::bk --password-file=/etc/rsync.password
#排除多个文件
rsync -avz --exclude={a,b} /tmp/ rsync_backup@47.106.130.253::bk --password-file=/etc/rsync.password
二、Inotify
2.1、Inotify是啥
实时监控文件变化,最多支持200-300并发
2.2、查看是否支持
ls -l /proc/sys/fs/inotify
2.3安装Inotify
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-tools make make install
2.4、Inotify命令
/usr/local/inotify-tools/bin/inotifywait -mrq --format '%d/%m/%y %H:%M' -c create,delete,close_write /data
-r recursive递归
-q quiet打印好少信息
-m monitor始终保持监听
--format 监控到的文件格式
2.5、脚本实时同步
2.6优化
关键参数说明:
在/proc/sys/fs/inotify目录下有三个文件,对inotify机制有一定限制
max_user_watches:设置inotifywait或inotifywatch命令可以监视的文件数量(单进程)
max_user_instances:设置每个用户可以运行的inotifywait或inotifywatch命令的进程数
max_queued_events:设置inotify实例事件(event)队列可容纳的事件数量
echo "50000000"> /proc/sys/fs/inotify/max_user_watches
echo "50000000"> /proc/sys/fs/inotify/max_queued_events
Inotify安装报错
报错 libinotifytools.so.0: cannot open shared object file 32位系统:ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib/libinotifytools.so.0 64位系统:ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib64/libinotifytools.so.0