Linux下使用rsync实现文件备份

时间:2022-05-08
本文章向大家介绍Linux下使用rsync实现文件备份,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

上一篇文章 Linux下使用ssh密钥实现无交互备份

这篇来说说如何安全的备份,还有一点不同的是上一篇是备份服务器拉取数据,这里要讲的是主服务器如何推送数据实现备份。

一、备份服务器配置rsync文件 vi /etc/rsyncd.conf

#工作中指定用户(可以不指定为0)
uid = 0
gid = 0
#相当于黑洞.出错定位
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
#模块开始
#模块名称随便起(可以是多个)
[backup]
#需要备份的目录
path = /backup
#表示出现错误忽略错误
ignore errors
#表示网络权限可写(本地控制真正可写)
read only = false
#这里设置IP或让不让同步
list = false
#指定允许的网段
hosts allow = 192.168.1.0/24
#拒绝链接的地址,一下表示没有拒绝的链接。
hosts deny = 0.0.0.0/32
#不要动的东西(默认情况)
#虚拟用户
auth users = rsync_backup
#虚拟用户的密码文件
secrets file = /etc/rsync.password

二、备份服务器配置虚拟用户的密码文件

[root@slave /]# echo "rsync_backup:123456" >/etc/rsync.password
[root@slave /]# cat /etc/rsync.password
rsync_backup:123456   #注:rsync_backup为虚拟用户,123456为这个虚拟用户的密码
[root@inotify-slave /]# chmod 600 /etc/rsync.password #为密码文件提权,增加安全性

三、主服务器配置虚拟用户密码 并测试

[root@master ~]# echo "123456" >/etc/rsync.password
[root@master ~]# cat /etc/rsync.password
123456   #注意:这里只要写密码即可,切记。
[root@master ~]# chmod 600 /etc/rsync.password
[root@ ~]# ll /etc/rsync.password
-rw------- 1 root root 7 4月  22 14:32 /etc/rsync.password
[root@master ~]# echo "hello itstyle">test.txt
[root@master ~]# cat test.txt
hello  itstyle
[root@inotify ~]# rsync -avz test.txt rsync_backup@192.168.1.130::backup --password-file=/etc/rsync.password
sending incremental file list
test.txt
sent 82 bytes  received 27 bytes  72.67 bytes/sec
total size is 13  speedup is 0.12

四、编写脚本

vi rsync_push.sh

#!/bin/bash
rsync  -az  /home/tomcat8 rsync_backup@192.168.1.130::backup --password-file=/etc/rsync.password