数据定时备份-运维

环境说明:
oa服务器:192.168.8.21
git服务器:192.168.30.13

备份服务器1:192.168.10.51
备份服务器2:192.168.10.52


1.免密登陆设置
oa服务器和git服务器上执行:
#直接回车生成公钥和私钥
ssh-kengen -t rsa
#进入用户家目录下的隐藏目录
cd ~/.ssh
#查看是否生成
ls -al
#将公钥拷贝到备份服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

#此步骤会提示输入备份服务器的密码进行验证

#查看是否写入本地授权文件
cat authorized_keys

#验证 成功进入不会提示输入密码
ssh 192.168.10.51
ssh 192.168.10.52

2.oa服务器编写备份脚本:
cat /data/backup-oa.sh
#!/bin/bash
#获取当前时间
now=`date +"%Y-%m-%d-%H-%M-%S"`
#记录日志
echo "开始备份oa数据,日期:${now}" >> /opt/backup-oa.log
#打包oa文件
tar -Pcjf /data/${now}-oa-backup.tar.bz /data/tomcat7/webapps/oa
#打包数据库文件
tar -Pcjf /data/${now}-oa-sql-backup.tar.bz /usr/local/mysql/data/oa1202
#备份mysql数据库
mysqldump -h127.0.0.1 -uroot -proot123 --databases oa1202 | gzip > /data/${now}-oa-backup.sql.gz
#传输文件
scp /data/${now}-oa-backup.tar.bz [email protected]:/data
scp /data/${now}-oa-backup.tar.bz [email protected]:/data
scp /data/${now}-oa-sql-backup.tar.bz [email protected]:/data
scp /data/${now}-oa-sql-backup.tar.bz [email protected]:/data
scp /data/${now}-oa-backup.sql.gz [email protected]:/data
scp /data/${now}-oa-backup.sql.gz [email protected]:/data
#清理
rm -rf /data/${now}-oa-backup.tar.bz
rm -rf /data/${now}-oa-sql-backup.tar.bz
rm -rf /data/${now}-oa-backup.sql.gz
#获取完成时间
now2=`date +"%Y-%m-%d %H:%M:%S"`
#完成日志
echo "完成备份oa数据,日期:${now2}" >> /opt/backup-oa.log

#给脚本赋权:
chmod +x /data/backup-oa.sh

#编写定时任务
每周星期六0点备份
crontab -e
0 0 * * 6 sh /data/backup-oa.sh

3.git服务器编写备份脚本:
cat /data/backup-git.sh
#!/bin/bash
#获取当前时间
now=`date +"%Y-%m-%d %H-%M-%S"`
#记录日志
echo "开始备份git数据,日期:${now}" >> /opt/backup-git.log
#打包git文件
tar -Pcjf /data/${now}-git-backup.tar.bz /data/gitblit/gitblit-1.8.0
#传输文件
scp /data/${now}-git-backup.tar.bz [email protected]:/data
scp /data/${now}-git-backup.tar.bz [email protected]:/data
#删除文件
rm -rf /data/${now}-git-backup.tar.bz
#备份完成时间
now2=`date +"%Y-%m-%d %H:%M:%S"`
#完成日志
echo "完成备份git数据,日期:${now2}" >> /opt/backup-git.log

#给脚本赋权:
chmod +x /data/backup-git.sh

#编写定时任务:
每周星期日0点备份
crontab -e
0 0 * * 7 sh /data/backup-git.sh

4.验证检查:
登陆备份服务器,查看/data下的文件
ls -lh

这里只是举个例子,其他做备份也可以参考此例!

猜你喜欢

转载自blog.csdn.net/qq_34777982/article/details/102918162