gitlab数据备份
为了防止gitlab应用出现问题或gitlab服务器宕机,我们需要给gitlab做好数据的备份,以防止代码或用户账号的丢失。虽然我个人认为这种方式不是最好的,但是能够保证数据的90%可以被恢复。
本人使用crontab 和shell脚本来实现数据的备份。
gitlab自动备份工具gitlab-rake,通过此工具可以对gitlab数据备份:
gitlab-rake gitlab:backup:create
默认的备份路径可以通过:
贴出我的shell脚本
#!/bin/bash
log_file=backup.log
work_dir=/var/opt/gitlab/backups
[ -f ${work_dir}/${log_file} ] || touch ${work_dir}/${log_file}
#start full backup source file
gitlab-rake gitlab:backup:create > ${work_dir}/${log_file}
if [ $? -eq 0 ];then
echo "gitlab source file backup successfully!"
else
echo "gitlab source file backup failed!"
exit 2
fi
#每次备份都会有打包成tar文件,为了不使用过多的磁盘空间,可以把上一次备份的tar包删除
find ${work_dir} -type f -mtime +1 -name "*.tar" |xargs rm -rf
#将备份好的tar包通过scp命令转送到其他机器上,异地备份.
file=`ls /var/opt/gitlab/backups/*.tar`
scp ${file}root@ip:/backup //注意scp 需要做免密码登录
设置crontab:每天下午10点开始备份数据
00 22 * * * sh backup_gitlab.sh >> /root/gitlab_backup.log
页:
[1]