一、配置SSH备份源
优点:远程连接安全,增强备份的保密性,容易实现。
下载:在下行同步中,备份源负责提供文档的原始位置,发起端应对文件具有读取权限上传:在上行同步中,备份源负责提供文档的目标位置,发起端应对文件具有写入权限
配置过程:
a、确认备份源文件夹位置
b、准备备份操作用户
案例:
192.168.200.111机器的网站目录/var/www/html作为备份源
用户down做下行(下载)备份
用户up做上行(上传)备份
master:
yum-y install httpd rsync
useradd up
echo “1” | passwd --stdin up
useradd down
echo “1” | passwd --stdin down
vim/etc/ssh/sshd_config
122 UseDNS no //关闭UseDNS加速SSH登录
systemctl restart sshd
调整/var/www/html目录权限,使down用户有读取权限,up用户有写入权限,建议将目录的属主修改为备份用户,另外需要为web服务的运行用户指定额外的权限。
acl访问控制机制参数详解:
setfacl 设置acl权限 格式:setfacl 用户或组:用户或组:权限 目标文件或目录
getfacl 查看acl权限
-R递归
-m制定权限I
-x个别删除
-b全部删除
master:
chown -R up:up /var/www/html/
setfacl -R -m user:apache:rwx /var/www/html/
getfacl /var/www/html/
1、下行同步ssh备份源
将服务器A的/var/www/html文件夹与B本地/Mwwwroot文件夹同步(保持文件权限属性,软硬连接,ACL属性,删除/Mwwwroot中多余文件,传输过程进行加密)
slave:
mkdir -p /wwwroot
rsync -avz down@192.168.200.112:/var/www/html/ /wwwroot/
down@192.168.200.112’s password: 输入down用户密码
ls /wwwroot/
对于同一项远程同步任务,再次执行时,自动做增量更新,同名的文件将不再重复复制
2、上行同步ssh备份源
将客户机中的anaconda-ks.cfg文件上传到备份源服务器的/var/www/html目录下,由于用户是up并非root用户,因此-g-o等选项无法使用
touch ba.txt
rsync -rlvz --delete ba.txt up@192.168.200.112:/var/www/html/
up@192.168.200.112’s password: 输入down用户密码
ssh备份源的无交互验证,由于脚本根据crond时间来执行,用户没办法按时根据提示输入密码192.168.200.112主机上创建密钥对,将公钥文件发给192.168.200.111服务器中的备份用户,实现无交互登录