在Linux上部署GitLab时,备份和恢复是确保数据安全性和完整性的重要步骤。以下是详细的备份与恢复指南:
使用GitLab内置备份工具:
sudo gitlab-rake gitlab:backup:create
命令来创建备份。这将在默认目录 /var/opt/gitlab/backups
下生成一个备份文件。/etc/gitlab/gitlab.rb
配置文件来设置备份路径:gitlab_rails['backup_path'] = "/your/backup/path"
修改后,需要运行 sudo gitlab-ctl reconfigure
来重新加载配置文件。自动化备份:
手动执行脚本进行备份:
crontab
定时执行。例如:#!/bin/bash
BACKUP_DIR="/path/to/backup/directory/"
rsync -avz --exclude={"/dev/*", "/proc/*", "/sys/*", "/tmp/*", "/run/*", "/mnt/*", "/media/*", "/lostfound"} /var/opt/gitlab/ $BACKUP_DIR
tar czvf gitlab_backup_$(date +%Y%m%d).tar.gz -C /var/opt/gitlab/ .
然后添加 cron 任务来定期运行备份脚本。停止GitLab服务:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
其他服务无需停止。恢复备份:
/var/opt/gitlab/backups
目录下。sudo gitlab-rake gitlab:backup:restore BACKUP_FILE_PREFIX
其中,BACKUP_FILE_PREFIX
为备份文件名的时间戳部分。重启GitLab服务:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
验证恢复:
通过上述步骤,您可以在Linux上有效地备份和恢复GitLab实例,确保数据的安全性和完整性。