linux下定时任务--记一次禅道备份数据到远程服务器

最近出了件大事,一大早被领导三番催促,原来是部署在我们机房机器上的禅道莫名挂了,所有用户均无法正常登陆,怀疑是机房机器变动导致部分数据丢失,好在禅道每天有备份,尝试使用备份数据重新覆盖安装,也是失败,最后检查是服务器磁盘满了。。。但也提醒了我这些数据的重要性(数据包已经有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 [email protected]:/root/

大功告成

你可能感兴趣的:(linux下定时任务--记一次禅道备份数据到远程服务器)