第一步:账号建立
在web服务器上建立备份专用账户vicbak,及用户组vicbakgrp,并属于组vicbakgrp。
#创建组
groupadd bakgrp
===========所有服务部署在web服务器上============
#创建用户并归组
useradd -d /home/vicbak -m vicbak -g bakgrp
第二步:免密登陆设置
建立通信密钥,可以让服务器备份功能免密码登录到备份服务器vicbak
#生成密钥文件
ssh-keygen -b 1024 -t rsa
#复制公钥到备份目标机器指定目录并改名为authorized_keys,输入密码完成公钥复制
scp -p .ssh/id_rsa.pub vicadmin@10.0.0.4:/home/vicadmin/.ssh/authorized_keys
#测试登陆情况,如直接登陆则表示成功无密码登陆目标机器
ssh vicadmin@10.10.10.4
第三步:建立备份脚本,添加可执行权限,邮件发送备份成功通知,需要提前打包文件夹
#新建备份脚本 ,文件位置:/data/wwwroot/webbak/sql_autobak.sh
vi /data/wwwroot/webbak/sql_autobak.sh
autobak.sh代码:
#!/bin/sh
echo "微客得备份任务开始"
mysqldump -h 10.0.0.5 -u vkd2015 -pvkd2015 vkd2015 >/data/wwwroot/sqlbak/vkd2015_bak.sql
#还原数据库语句,备用测试
#tar -zcvf /data/wwwroot/vicweb_bak_$.tar.gz /data/wwwroot/default
scp -P 22 /data/wwwroot/webbak/vkd2015_bak.sql vicadmin@10.0.0.4:/home/vicadmin/webbak/sqlbak/
echo "备份脚本执行完毕"
#sh脚本授权,在vicbak账户下授权
chmod +x /data/wwwroot/webbak/sql_autobak.sh
第四步:删除以往备份
自动覆盖,不再单独删除操作
第五步:编写crontab任务,每天2点执行异地备份到备份服务器10.0.0.4
crontab -u vicbak -e #进入编辑状态
0 2 * * * /data/wwwroot/webbak/autobak.sh
第六步:测试运行
评论