ทำ Auto Backup GitLab ข้าม Server และ กำหนดให้เก็บไฟล์ไว้ตามระยะเวลาที่ต้องการ

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: ทำ Auto Backup GitLab ข้าม Server และ กำหนดให้เก็บไฟล์ไว้ตามระยะเวลาที่ต้องการ

Re: ทำ Auto Backup GitLab ข้าม Server และ กำหนดให้เก็บไฟล์ไว้ตามระยะเวลาที่ต้องการ

by mindphp » 04/03/2018 3:34 am

ตัวอย่างไฟล์
auto-gitlab-backup.conf

Code: Select all

# unless $localConfDir is outside /var/opt/gitlab/backups/configBackups
# you can leave this blank
remoteConfDest=""

## ssh port or 873 for rsyncd port
remotePort=1122

## git user home.
#  Only change the below setting if you have git's home in a different location
gitHome="/var/opt/gitlab"

## only set below if rvm is in use and you need to source the rvm env file
# echo $(rvm env --path)
RVM_envPath=""

## only use the below settings if your destination is using rsync in daemon mode
remoteModule=""
rsync_password_file=""

## localbackup directories
# only change if gitlab_rails['backup_path'] in gitlab.rb is set
# other than $gitHome/[backups|ci-backups]
gitRakeBackups="/var/opt/gitlab/backups"
gitRakeCIBackups="/var/opt/gitlab/ci-backups"

## only change if configs are in different locations. (unlikely)
localConfig="/etc/gitlab"
localsshkeys="/var/opt/gitlab/.ssh"

## Check remote quota
#  change to true or 1 to enable
checkQuota="0"

ทำ Auto Backup GitLab ข้าม Server และ กำหนดให้เก็บไฟล์ไว้ตามระยะเวลาที่ต้องการ

by mindphp » 04/03/2018 3:29 am

ทำ Auto Backup GitLab ข้าม Server และ กำหนดให้เก็บไฟล์ไว้ตามระยะเวลาที่ต้องการ
จากกระทู้ที่แล้ว
วิธี Backup Restore Gitlab remote Server ใช้ได้กับ OS เวอร์ชั่นต่างกัน

กระทู้นี้มาดูวิธีการ ทำ Auto Backup GitLab ข้าม Server กันบ้าง
ประโยชน์ คือ เราไม่ต้องเสียเวลานั่งทำ backup เอง และ Save ไฟล์ backup ไว้สอง ที่แบบ auto เพื่อถ้าเกิดปัยหา Server หนึ่งเสีย เราสามารถนำไฟล์ ที่ backup ไว้มา restore แล้วใช้งานต่อได้เลย

วิธีทำ จะใช้ scipt ไฟล์ .sh ช่วย สามารถโหลได้ที่ https://github.com/sund/auto-gitlab-backup
วิธี
1. แก้ไขไฟล์ /etc/gitlab/gitlab.rb เพื่อ กำหนด ระยะเวลาที่ต้องการเก็บไฟล์ backup ไว้

Code: Select all

# backup keep time
gitlab_rails['backup_keep_time'] = 604800
2. โคลน หรือ โหลดไฟล์ auto-gitlab-backup ไปไว้ที่ /usr/local/sbin

Code: Select all

git clone https://github.com/sund/auto-gitlab-backup.git
3. เข้าไปที่ Folder auto-gitlab-backup และ copy ไฟล์ config เพื่อปรับแต่งค่าตามต้องการ

Code: Select all

cp auto-gitlab-backup.conf.sample auto-gitlab-backup.conf
แก้ไขไฟล์ auto-gitlab-backup.conf

4. ตั้งให้เครื่องทำงานอัตโนัต

Code: Select all

crontab -e
เลือกโปรแกรมแก้ไขไฟล์ตามต้องการ แล้วใส่โค้ดด้านล่างนี้ลงไป

Code: Select all

0 21 * * * /usr/local/sbin/auto-gitlab-backup/auto-gitlab-backup.sh 
**** ตามตัวอย่างจะทำงานทุก สามทุ่ม

Top