一、rsync概述
1.什么是rsync
2.rsync的特点
● 可以镜像保存整个目录树和文件系统
● 可以保留原有的权限(permission,mode),owner,group,时间(修改时间,modify time),软硬
链接,文件acl,文件属性(attributes)信息等
● 传输效率高
● 支持匿名传输,方便网站镜像;也可以做验证,加强安全
3.rsync与scp的区别
二、rsync的使用
1.安装rsync
yum -y install rsync
2.本地文件同步
mkdir folder/f{1..3} #创建三个目录 tree folder/ #可提前安装好tree,命令:yum -y install tree
touch folder/f1/file{0..4} #在f1目录下创建5个文件
rsync -av folder/ /opt/
rsync -av folder /opt/
#为了方便,可将/opt/目录下的文件删除(有重要文件谨慎删除) rm -rf /opt/* ls -l /opt/ #使用-R选项 rsync -avR folder/ /opt/
rm -rf folder/f1/file0 tree folder/
rsync -av --delete folder/f1/ folder/f2/ #将f1下删除的文件同步到f2
vim folder/f1/file1 cat folder/f1/file1 cat folder/f2/file1
rsync -av --delete folder/f1/ folder/f2/
touch folder/f1/fil0 -m -d "2024-7-14 00:00" #创建一个文件 rsync -av --delete folder/f1/ folder/f2/ touch folder/f1/fil0 -m -d "2024-7-13 00:00" #修改时间 rsync -av --delete folder/f1/ folder/f2/
chmod g+w folder/f1/fil0 #增加值为2的w写权限 rsync -av --delete folder/f1/ folder/f2/ ls -l folder/f2/fil0
3.远程文件同步
rsync -av folder/ root@192.168.1.20:/tmp/
dd if=/dev/zero of=/tmp/lajiwenjian bs=300M count=1
rsync -av root@192.168.1.21:/tmp/lajiwenjian /tmp/
4.同步服务器设置
systemctl status rsyncd
systemctl start rsyncd
netstat -lntup | grep rsync
find / -name "rsync*conf"
mkdir -p /app/studentweb/src/main/java/co/goho/qingtang.studentweb/ tree /app/ cd /app/studentweb vim /etc/rsyncd.conf
systemctl restart rsyncd
rsync -a root@192.168.1.21::
rsync -ac root@192.168.1.21::app /tmp/
使用tree查看
5.自动化推送拉取文件
crontab -e
三、rsync扩展
1.为rsync服务添加密码
vim /etc/rsyncd.conf
vim /etc/rsync.secrets
systemctl restart rsyncd
rsync -av jerry@192.168.1.21::app /tmp/
2.rsync结合inotify工具实现代码实时同步
yum -y install inotify-tools
inotifywait -mr /app/
chmod 700 inotifytest.sh
chmod 700 inotifytest.sh
vim /app/studentweb/hh.txt #里面随便写点东西,保存退出
本文链接:https://blog.runxinyun.com/post/337.html 转载需授权!
留言0