发布时间:2025-12-09 22:03:25 浏览次数:4
实现本地或远程 全量备份 增量备份
rsync -avz 本机文件夹 远程主机用户名@IP:远程主机文件夹
首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)
然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥
当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了
通俗:访问谁就把公钥发送给谁
一、实验环境:
1、centos-A网站服务器:192.168.0.101/24
提前准备好网站源代码和数据库
2、centos-B备份服务器:192.168.0.102/24
二、ssh客户端centos-A生成公钥和私钥对
ssh-keygen -t rsa 命令生成一个文件对 (非对称加密算法)
id_rsa 私钥文件
id_rsa.pub 公钥文件
三、把centos-A上公钥传输一份到centos-B服务器
把id_rsa.pub传到centos-B服务器
ssh-copy-id -i .ssh/id_rsa.pub 192.168.0.102
四、无口令登陆测试
ssh 192.168.0.102
五、使用rsync借助ssh无口令远程备份到centos-B服务器上指定目录
rsync -e ssh -avz /mnt root@192.168.0.102:/home/webserver
back.sh
mk.sh
rsync.sh
sent 2288 bytes received 73 bytes 277.76 bytes/sec
total size is 2056 speedup is 0.87
看到这个你就可以确定备份成功了
远程主机查看一下:
[root@node4 backup]# ls
back.sh mk.sh rsync.sh weekly
成功备份
现在,你可以放心的将此脚本应用在你的环境了,为了保障系统的实时备份,此时,可以将脚本加入crontab中
[root@node1 backup]# crontab -e
*/5 * * * * /backup/rsync.sh > /dev/null
ok,现在就会每5分钟进行一次远程备份了!
rsync -r -v --ignore-existing /tmp/a/ /tmp/b "
将脚本加入crontab中
–ignore-existing"是更新目标端不存在的文件
把目录a 下的所有内容放到目录b 下