gitlab自动备份文件到群晖
- 把群晖smb挂载到gitlab机器
- 更改gitlab配置备份文件夹位置改到挂载目录
- 创建定时任务备份gitlab
安装工具
sudo apt-get install cifs-utils
创建挂载点
sudo mkdir /mnt/nas
创建smb鉴权文件.smbcredentials
,文件内容:
username=$YOUR_USERNAME
password=$YOUR_PASSWORD
更改/etc/fstab
文件,在最后一行添加
//$YOUR_SMB_SERVER_ADDR/share /mnt/nas cifs credentials=/path/of/.smbcredentials,iocharset=utf8,dir_mode=0777,file_mode=0777,noperm 0 0
其中noperm
很重要,不检查文件权限,否则设置来设置去,总是不能777,gitlab备份总是Permission Denied
挂载目录, (如果之前挂的有问题,就先执行sudo umount -a
再mount)
sudo mount -a
将挂在目录的命令mount -a
添加到开启自动运行,注意添加在exit 0
之前
vim /etc/rc.local
更改gitlab配置
vim /etc/gitlab/gitlab.rb
打开如下配置,酌情修改
gitlab_rails['manage_backup_path'] = ture
gitlab_rails['backup_path'] = "/mnt/nas"
gitlab_rails['backup_keep_time'] = 604800
让配置生效
sudo gitlab-ctl reconfigure
尝试手动备份,在挂载目录看到文件就代表成功
sudo gitlab-rake gitlab:backup:create
添加定时任务
crontab -e
增加一行, 每天凌晨4点备份
0 4 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create