最近出了件大事,一大早被领导三番催促,原来是部署在我们机房机器上的禅道莫名挂了,所有用户均无法正常登陆,怀疑是机房机器变动导致部分数据丢失,好在禅道每天有备份,尝试使用备份数据重新覆盖安装,也是失败,最后检查是服务器磁盘满了。。。但也提醒了我这些数据的重要性(数据包已经有6G了,所有开发任务和缺陷、用例全在上面),于是着手把数据远程备份一次。
大致思路:
- 1.通过crontab定时任务打包数据
- 2.scp免密传输到指定服务器
- 3.删除本地压缩包
1.编写简单的备份脚本
[root@rzve1bjr /]# vim opt/zentao_cp.sh
#!/bin/bash
tar -czvf /zentao_cp/zentao_bk.$(date +%y%m%d-%H%M).tar.gz /zentao_bk/*
exit $?
[root@rzve1bjr /]#
2、安装 crontabs服务并设置开机自启
yum install crontabs
systemctl enable crond
systemctl start crond
我使用的机器是Centos7,不同机器命令不太一样,如果使用的是Centos6及以下版本,sytemctl需要换成service
3.配置定时任务
vim /etc/crontab
crontab
上方是给出的注释,从左往右依次是分、时、日、月、周,我设置的是每天凌晨2点半执行打包脚本,3点半把压缩包传至另一个服务器,4点则删除该压缩包,脚本比较简单
4.任务重载
crontab /etc/crontab
5.设置scp免密远程传输
使用RSA非对称加密算法,将禅道服务器的公钥放到备份服务器的authorized_keys中
- 在禅道服务器上,通过RSA算法生成公钥(.pub)和私钥(公钥用于加密,私钥用于解密)
- 将该公钥放至备份服务器的authorized_keys中
1.生成密钥对
ssh-keygen -t rsa
公钥/root/.ssh/id_rsa.pub
秘钥/root/.ssh/id_rsa
2.将公钥放至远程服务器.ssh目录(通过cd ~/.ssh访问)下的authorized_keys当中
可以通过lszrz工具将公钥上传至B服务器中。
尝试一下:
scp test.txt root@47.94.36.78:/root/
大功告成
网友评论