Tự động backup trên Vultr với Snapshots

0
74

Khi chúng ta sử dụng dịch vụ cloud của Vultr thì điều quan trọng là phải có một hệ thống sao lưu tự động cho tất cả các máy chủ ảo. Như chúng ta đã biết Vultr có bán gói backup cho VPS của họ. Nhưng tôi sẽ chỉ cho bạn cách xây dựng một tập lệnh để thực hiện công việc sao lưu tự động với 2 bản sao lưu được lưu trữ .

Yêu cầu:

Bước 1: Lấy API key của Vultr

Bước 2: Tạo script để tự động snapshots

login vào SSH và chúng ta tạo file backup.sh và SNAPSHOTID lưu vào /root

#!/bin/bash

# info
API="XXX"
SUBID="YYY"
DESC="ZZZ"

cd /root

# count 
COUNT=$(awk 'END {print NR}' SNAPSHOTID)

# list old snapshots
readarray SNAPSHOTS < SNAPSHOTID

# delete
if [ $COUNT -ge 2 ]; then
	# get the 1st to delete
	DELID=${SNAPSHOTS[0]}

	# delete old snapshot
	curl -H 'API-Key: '$API https://api.vultr.com/v1/snapshot/destroy --data 'SNAPSHOTID='$DELID

	# update SNAPSHOTID file
	sed -i '1d' SNAPSHOTID
fi

# create new snapshot
curl -H 'API-Key: '$API https://api.vultr.com/v1/snapshot/create --data 'SUBID='$SUBID --data 'description='$DESC | grep -Po '"SNAPSHOTID": *"\K\w+' >> SNAPSHOTID

chúng ta thay thế các dòng sau cho phù hợp với tài khoản Vultr của bạn

API=”XXX” -> thay XXX bằng API key lấy ở bước 1
SUBID=”YYY” -> thay YYY bằng Vultr server ID ( chúng ta có khi xem thông tin chi tiết về VPS trong Vultr
DESC=”ZZZ” -> text bất kỳ để ta xác định bản chụp nhanh của VPS

Bươc 3: Lên lịch chạy script mỗi ngày

trên SSH chúng ta gõ lệnh

#crontab -e

và thêm dòng sau vào, ở đây tôi cho chạy vào mỗi 1h sáng, bạn có thể thay thế cho phù hợp với công việc của bạn

* 1 * * * /root/backup.sh > /dev/null 2>&1

BÌNH LUẬN

Please enter your comment!
Please enter your name here