上一篇文章 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