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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

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

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

โดย mindphp » 04/03/2018 3:34 am

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

โค้ด: เลือกทั้งหมด

# 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 และ กำหนดให้เก็บไฟล์ไว้ตามระยะเวลาที่ต้องการ

โดย 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 ไว้

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

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

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

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

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

ข้างบน