Rsync:
Rsync:实现全量及增量的本地或远程数据镜像同步备份的优秀工具。
https://www.samba.org/ftp/rsync/rsync.html
传统的cp,scp 工具拷贝每次均为完整的拷贝,而rsync除了可以完整拷贝外,还具备增量拷贝的功能,因此,从同步数据的性能及效率上,Rsync工具更胜一筹。
Rsync的特性如下: .
一般来说,Rsync大致使用三种主要的传输数据的方式。分别为:
主机本地间的数据传输(此时类似于p命令的功能)。
借助rcp,ssh 等通道来传输数据(此时类似于scp命令的功能)。
以守护进程的方式传输数据(这个是rsync的重要的功能)。
rsync == cp
[root@backup ~]# rsync /etc/hosts /tmp/ #文件
[root@backup ~]# ls /tmp/hosts
/tmp/hosts
[root@backup ~]# rsync -avz /etc/hosts /tmp/ #目录
rsync == scp
rsync -avz -e 'ssh -p 22’ root@10.0.0.141:/opt /tmp
特别提示:请注意以下两命令的差别:
1)rsync -avz /opt// tmp/ #仅把/opt/目录里面的内容同步过来,opt目录本身并不同步
2)rsync -avz 4pt /tmp #示把opt本身及其内部内容全都同步到/tmp下
rsync == rm
[root@backup ~]# rsync -a --delete /null/ /znix/
[root@backup ~]# ll /znix/
total 0
Rsync的企业工作场景说明
两台服务器之间数据同步(定时任务cron+rsync)
同步网站内部人员数据信息(定时任务最小周期为1分钟)
两台服务器之间数据同步(实时任务inotify/sersync/lrsyncd+rsync)
同步网站用户人员数据信息
守护进程方式同步数据
配置rsync服务端(将服务端配置到 backup 服务器上)
进行软件服务配置
[root@backup ~]# rpm -qa |grep rsync
rsync-3.0.6-12.el6.x86_64
[root@backup ~]# vim /etc/rsyncd.conf
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backup dir by oldboy"
path = /backup
创建rsync用户
[root@backup ~]# useradd -s /sbin/nologin -M rsync
创建数据备份储存目录,目录修改属主
[root@backup ~]# mkdir /backup/
[root@backup ~]# chown -R rsync.rsync /backup/
创建认证用户密码文件,启动
[root@backup ~]# echo "rsync_backup:oldboy123" >>/etc/rsync.password
[root@backup ~]# chmod 600 /etc/rsync.password
[root@backup ~]# rsync --daemon
[root@backup ~]# ps -ef |grep rsync
root 2076 1 0 17:05 ? 00:00:00 rsync --daemon
root 2163 1817 0 17:38 pts/1 00:00:00 grep --color=auto rsync
[root@backup ~]# netstat -lntup |grep rsync
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 2076/rsync
配置rsync客户端(其他服务器为客户端)
[root@nfs01 ~]# echo "oldboy123" >>/etc/rsync.password
[root@nfs01 ~]# chmod 600 /etc/rsync.password
实现数据传输
[root@nfs01 ~]# rsync -avzP --delete /etc/hosts rsync_backup@172.16.1.41::backup
[root@nfs01 ~]# rsync -avzP /etc/hosts rsync_backup@172.16.1.41::backup \
--password-file=/etc/rsync.password
主要参数
--exclude-from=file 排除文件名相对路径下的目录文件,即可以实现自定义排除多个文件
--exclude=a.txt 排除某个文件
--bwlimit=RATE 限速功能
--delete 让目标目录SRC和源目录数据DST一致,即无差异数据同步
[root@nfs01 data]# vim /tmp/paichu.txt
a/3.txt
b
c
[root@nfs01 data]# rsync -avz /data/ --exclude-from=/tmp/paichu.txt
排除文件中,需要利用相对路径指定排除信息(不能利用绝对路径)
在配置文件中修改要排除的文件
vim /etc/rsyncd.conf
[nfsdata]
comment = "nfsdata dir by oldboy"
path = /backup/nfsdata
exclude=a/3.txt b c
[root@nfs01 data]# rsync -avz /data/ rsync_backup@172.16.1.41::nfsdata
rsync与inotify数据同步
[root@svr7 ~]# ssh-keygen #一路回车
]# ssh-copy-id root@192.168.4.207
]# rsync -av --delete /mydir/ root@192.168.4.207:/opt
源码编译安装步骤:
]# yum -y install make gcc
]# tar -xf /root/tools.tar.gz -C /usr/local/
]# tar -xf /usr/local/tools/inotify-tools-3.13.tar.gz -C /usr/local/
]# cd /usr/local/inotify-tools-3.13/
]# ./configure --prefix=/opt/myrpm #指定安装位置
]# make
]# make install
]# ls /opt/myrpm/bin/
]# /opt/myrpm/bin/ inotifywait -rq /mnt #监控/mnt目录
•基本用法
inotifywait [选项] 目标文件夹
•常用命令选项
-m,持续监控(捕获一个事件后不退出)
-r,递归监控、包括子目录及文件
-q,减少屏幕输出信息
-e,指定监视的 modify、move、create、delete、attrib 等事件类别
]# vim /etc/rsync.sh
while /opt/myrpm/bin/inotifywait -rqq /mydir/
do
rsync -a --delete /mydir/ root@192.168.4.2:/opt
done
[root@svr7 /]# chmod a+x /etc/rsync.sh
[root@svr7 /]# /etc/rsync.sh &
ntpdate同步时间
1、查看当前服务器时间
# date -R
Mon, 27 Apr 2021 10:42:51 +0800
2、安装ntpdate服务
# yum install ntpdate
3、同步中国上海时间
#timedatectl set-timezone Asia/Shanghai
#ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# ntpdate ntp1.aliyun.com
19 Feb 11:36:56 ntpdate[2310]: adjust time server 120.25.115.20 offset 0.001033 sec
4、查看新时间是否已同步
# date -R
Sat, 19 Feb 2022 11:38:26 +0800