完整备份
一、 环境
服务器A-10.3.15.246:有源文件,完整备份压缩过程在此机器
服务器B-10.3.15.247:被动接收压缩后的文件
二、 scp、ssh免密登录
1. 服务器A生成公钥私钥对
ssh-keygen -t rsa
服务器A生成rsa类型的公钥私钥对,连续按3次回车(如图)
生成后的公钥私钥对在/root/.ssh/目录,id_rsa是私钥,id_rsa.pub是公钥
2. 将公钥传到服务器B
服务器A操作:
cd /root/.ssh/
scp id_rsa.pub root@服务器B:/root/key.pub
服务器B检查是否有文件
服务器B将服务器A的公钥文件写入/root/.ssh/authorized_keys
cat /root/key.pub >> /root/.ssh/authorized_keys
在服务器A测试能否直接连入服务器B
ssh root@服务器B的IP
不用密码登录即成功
三、 服务器B安装pigz
pigz是支持多线程压缩/解压的gzip,用这个软件可以提高十几倍效率。
1. 安装pigz
apt-get install pigz -y
四、 编写脚本
在服务器A:
#!/bin/bash
#创建备份文件夹
mkdir /root/full_backup/
#删除旧备份
rm /root/full_backup/*
#获取当前日期
date=`date +%Y-%m-%d_%H%M%S`
#使用gzip打包
tar -C /root/backup/ -cf - . | pigz > /root/full_backup/full_backup_$date.tar.gz
#使用scp传入服务器B
scp /root/full_backup/full_backup_$date.tar.gz root@10.3.15.247:/home/full_backup/
部分内容根据需求更改
五、 设置定时任务
crontab -e
在最后增加一行:
0 6 15 * * root bash /root/test.sh
设置每月15号上午6点开始备份