数据备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。传统的数据备份主要是采用内置或外置的磁带机进行冷备份。但是这种方式只能防止操作失误等人为故障,而且其恢复时间也很长。随着技术的不断发展,数据的海量增加,不少的企业开始采用网络备份。网络备份一般通过专业的数据存储管理软件结合相应的硬件和存储设备来实现。
最近 项目上线、很多东西都要自己捣鼓、所以闲来就捣鼓了下rsync。
下面 要介绍的就是网络备份、使用rsync实现数据的备份。
这里我们准备两台服务器:服务器机器: 192.168.1.180 客户端机器:192.168.1.190 实现 180的数据同步保存到190服务器。
一、安装rsync,并通过xinetd管理rsync 阿里云服务器默认安装了rsync 如果没有安装 可以执行一下命令
yum install rsync xinetd -y
二、vi /etc/xinetd.d/rsync 使其随xinetd启动而启动
service rsync
{
disable = no//默认为yes
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
三、启动服务 /etc/init.d/xinetd restart
查看 873端口是否启动
netstat antup|grep 873
也可以 vi /etc/services 查看 以文件为准。
rsync 873/tcp # rsync
rsync 873/udp # rsync
四、创建用户
useradd rget
#设置密码
echo '123456' | passwd --stdin rget
#设置权限
setfacl -R -m user:rget:rwx /www/52itstyle/
#设置默认权限 及时以后目录变动更改
setfacl -R -m default:rget:rwx /www/52itstyle/
#查看权限是否正确 红色标注部分
getfacl /www/52itstyle/
getfacl: Removing leading '/' from absolute path names
# file: www/52itstyle/
# owner: root
# group: root
user::rwx
user:rget:rwx
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:rget:rwx
default:group::r-x
default:mask::rwx
五、手动备份(需要手动输入密码)
rsync -azP --delete rget@192.168.1.180:/www/52itstyle /www/
# rsync 命令说明
如果 /www 目录下出现 /52itstyle 目录说明备份成功。
六、使用ssh密钥实现无交互备份
#生成密钥
ssh-keygen
# 复制密钥
ssh-copy-id rget@192.168.1.180
#测试登陆
ssh rget@192.168.1.180
编写脚本
vi /root/rsync/rsync-ssh-get.sh
#!/bin/bash
rsync -az --delete rget@192.168.1.80:/www/52itstyle /www/ # -P去掉 不看进度
计划任务
crontab -e
01 3 * * * /root/rsync/rsync-ssh-get.sh&
这里每天凌晨三点自动执行备份任务。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。