1.Gitlab
搭建
安装依赖环境
sudo yum install -y curl policycoreutils-python openssh-server
安装邮件服务
sudo yum install -y postfix
设置postfix
服务开机启动
sudo systemctl enable postfix
启动postfix
服务
sudo systemctl start postfix
添加gitlab
软件包存储库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
安装gitlab
sudo yum install -y gitlab-ce
重新配置gitlab
sudo gitlab-ctl reconfigure
配置firewall
,开放对应服务
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload #重载防火墙以生效配置
2.Gitlab
备份
编写一个简单的脚本,我这边是叫gitlab-backup
#!/bin/bash # cd /var/opt/gitlab/backups #进入gitlab备份目录 echo "cd /var/opt/gitlab/backups" echo "create a gitlab-backup file" gitlab-rake gitlab:backup:create #创建一个git完整备份文件 echo "complete"
查看一下crond
进程状态是否启动
[root@localhost ~]# systemctl status crond ● crond.service - Command Scheduler Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-21 12:59:10 CST; 2 months 22 days ago Main PID: 3154 (crond) CGroup: /system.slice/crond.service └─3154 /usr/sbin/crond -n Aug 21 12:59:10 localhost.localdomain systemd[1]: Started Command Scheduler. Aug 21 12:59:10 localhost.localdomain crond[3154]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 57% if used.) Aug 21 12:59:10 localhost.localdomain crond[3154]: (CRON) INFO (running with inotify support)
使用crond
创建定时任务去调用脚本执行命令完成定时备份
[root@localhost ~]# crontab 0 22 * * 6 bash /var/spool/cron/gitlab-backup.sh > /dev/null [root@localhost ~]# crontab -l 0 22 * * 6 bash /var/spool/cron/gitlab-backup.sh > /dev/null
3.Gitlab
迁移
迁移如同备份与恢复的步骤一样,
只需要将老服务器/var/opt/gitlab/backups
目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups
即可(如果你没修改过默认备份目录的话)
但是需要注意的是新服务器上的Gitlab
的版本必须与创建备份时的Gitlab
版本号相同.
比如新服务器安装的是10.2.2
版本的Gitlab
, 那么迁移之前, 最好将老服务器的Gitlab
升级为10.2.2
在进行备份
迁移较简单的方法就是scp
,可以理解为ssh
管道下的cp
命令。把当前一个文件copy
到远程服务器上。
比如下面示例,-r
是递归,将本地a目录及其下属所有子文件或目录复制到远程主机的root目录下
scp -r /home/a root@192.168.0.8:/home/root
然后会提示输入192.168.0.8
的root
的密码,接着就开始复制传输了。
数据恢复
cd /var/opt/gitlab/backups chmod 777 XXXXXX_gitlab_backup.tar gitlab-rake gitlab:backup:restore BACKUP=XXXXXX_gitlab_backup.tar
发表评论