Hướng dẩn backup data VPS Cyber Panel Lên Google Drive

Hôm nay mình sẽ hướng dẫn các bạn toàn bộ quá trình backup dữ liệu từ Vps đang sử dụng Cyber Panel lên Google Drive và tải xuống để phục vụ việc khôi phục lại toàn bộ dữ liệu cho web một cách tự động mà không cần phải tải về máy tính và upload lên lại vì việc này phụ thuộc rất lớn vào tốc độ đường truyền bạn đang sử dụng cũng như file backup phải nằm trên máy tính của bạn đang thực hiện thao tác backup ,ngoài ra bạn có thể lưu file backup này trên VPS nhưng đa phần VPS chỉ lưu được vài bản backup sẽ đầy bộ nhớ nên việc lưu tại Vps là có có giới hạn .

Bài viết này mình sẽ chia làm 3 Phần để mọi người dể tiếp cận cũng như bạn nào đã làm bước nào rồi thì có thể bỏ qua làm bước kế tiếp .

Phần 1 : Tạo Shell backup tự động các web có trên Vps

Phần 2 : Hướng dẫn cài đặt Rclone (tạo phương thức kết nối Vps với Google Drive)

Phần 3 : Tạo Shell Upload và Download data backup từ Vps lên Google Drive

Bây giờ chúng mình triển thôi nào ..

Phần 1 : Tạo Shell backup tự động các web có trên Vps

Như các bạn đã biết Cyber P khá nhẹ và có tốc độ xử lý nhanh hơn các nền tảng khác nên ngày càng được ưu chuộng để chạy website ,nhưng theo mình được biết kể từ bản update 1.7x trở đi và hiện tại là bản mới nhất 1.8.2 vẫn rất nhiều bạn bị lỗi backup tự động ,là trình backup tự động chạy mỗi ngày của Cyber P nhưng nó hay ngủ quên nên không còn phù hợp cho việc backup mỗi ngày nữa, sau đây mình sẽ gởi cho các bạn vài dòng lệnh trích từ core Cyber P để chạy lệnh backup (Lưu ý : Một số code hay lệnh nhập mình để trong dấu ” ” bạn vui lòng bỏ dấu nháy đi khi nhập vào Ssh nhe)

cyberpanel createBackup --domainName abc.xyz ;
done

Thế abc.xyz bằng tên miền trong vps của bạn tai dường dẩn /home/ nhe (mình sẽ thử nghiệm việc lấy tên miền tự động cho update lần sau ,lần này chịu khó thêm bằng tay nhe)

VD sinh động từ Vps của mình :

thái dương limousine chuyên cơ của mặt Đất vps

Mình sẽ có file backup như sau :

cyberpanel createBackup --domainName hoidulich.net ;
done
cyberpanel createBackup --domainName thaiduonglimousine.com ;
done
cyberpanel createBackup --domainName tongdaive.net ; 
done
cyberpanel createBackup --domainName vexedicampuchia.com ;
done
cyberpanel createBackup --domainName xeduadonhocsinh.com ;
done
cyberpanel createBackup --domainName xingiahanvisa.net ;
done

 

File này mình sẽ lưu lại thành backup.sh và lưu tại /root trên Vps nhe,sau khi lưu file xong bạn dùng lệnh sau để phân quyền hệ thống cho file

chmod +x /root/backup.sh

Mình sẽ được file backup.sh như hình sau

thái dương limousine chuyên cơ của mặt Đất vps

Tiếp theo phần quan trọng không kém mà tính năng backup mặc định của Cyber P hay bị trục trặc nhất đó chính là tự động chạy ,mình thấy các cron vẫn chạy đúng giờ trừ việc backup là không chạy ,nên mình sẽ tạo cron để gọi file backup này chạy mỗi đêm .Từ Ssh bạn chạy lệnh sau sẽ hiện lịch trình file cron hệ thống như sau ,các nội dung có sẳn các bạn cứ giữ nguyên đừng tác động tới khi không biết chính xác nó là gì nhe .

crontab -e

Đây là nội dung mặc định crontab của mình

thái dương limousine chuyên cơ của mặt Đất vps

Nếu hiện được như hình bạn bỏ qua dòng chữ đỏ bên dưới nhe .

Nếu như kết quả trả về là : ” -bash: crontab: command not found ” nghĩa là Vps bạn chưa cài Crontab

bạn dùng 3 lệnh sau để cài và khởi động Crontab lên nhe chạy lần lượt từng lệnh khi chạy xong bạn quay lại bước trên nha .

yum install cronie
service crond start
chkconfig crond on

Mình sẽ giữ nguyên và viết thêm vào dòng bên dưới ,các bạn lưu ý để viết được nội dung các bạn nhấn phím ” Insert ” trên bàn phím ,nó sẽ hiện INSERT bên dưới dòng lệnh SSH bạn nhe ,bây giờ bạn có thể thêm nội dung vào file Crontab được rồi

thái dương limousine chuyên cơ của mặt Đất vps

Cấu trúc file Cron như sau

*     *     *     *     *     command to be executed
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of week (0 - 6) (Sunday=0)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)

Mình sẽ cho file backup.sh chạy vào 23h00, thời gian này ít khách truy cập nên cho Vps tiến hành backup ,thời gian backup tùy thuộc vào dung lượng thư mục /home của bạn nhe . Mình sẽ tạo file Cron như sau .

0 23 * * * sh /root/backup.sh

thái dương limousine chuyên cơ của mặt Đất vps

Sau khi thêm xong để lưu lại bạn nhấn phím ” Esc ”  trên bàn phím khi nhấn xong bạn sẽ thấy mất chữ INSERT bên dưới lệnh Ssh là được nhe , sau đó nhập lệnh sau để lưu và thoát

:wq

Để kiểm tra kết quả thành công hay chưa bạn dùng lệnh sau để check lại nhe

crontab -l

Kết quả hiện ra như hình là thành công nhe ,nếu không hiện dòng crontab bạn vừa thêm bạn thử thêm lại nhe .

thái dương limousine chuyên cơ của mặt Đất vps

Kết quả như hình là thành công nhe .

Phần 2 : Hướng dẫn cài đặt Rclone (đưa dữ liệu backup lên Google Drive)

Rclone – Backup toàn bộ VPS lên Google Drive phương pháp mới hiệu quả hơn, tiết kiệm hơn (Free), đó là sao lưu lên Cloud với Rclone.

Rclone là một công cụ đồng bộ hóa dữ liệu tương tự Rsync nhưng lại được tập trung phát triển chức năng kết nối với các dịch vụ lưu trữ đám mây.

Ưu điểm của việc sử dụng dịch vụ lưu trữ đám mây đó là tốc độ cao (do có server được đặt trên khắp thế giới), an toàn dữ liệu (không lo ngại các vấn đề phần cứng, network) và nhất là hầu hết đều Free. Mình đặc biệt thích những thứ Free!

Rclone hỗ trợ rất nhiều dịch vụ Cloud thông dụng như:

  • Google Drive
  • Amazon S3
  • Openstack Swift / Rackspace cloud files / Memset Memstore
  • Dropbox
  • Google Cloud Storage
  • Amazon Drive
  • Microsoft OneDrive
  • Hubic
  • Backblaze B2
  • Yandex Disk
  • SFTP
  • The local filesystem

Giờ thay vì backup đưa lên VPS khác để lưu trữ, mình chuyển sang sử dụng Google Drive, dung lượng miễn phí 15GB, mua thêm cũng khá rẻ, chỉ 45k/tháng là được 100GB rồi. Bạn nào có tài khoản Google Apps miễn phí nữa thì càng tuyệt vời.Mình có tạo sẵn 2 tài khoản Google Drive không giới hạn để tiện cho việc backup lâu dài sau này

Trong mục này sẽ có 2 phần chính, 1 là cài đặt Rclone trên VPS, 2 là sử dụng Rclone để upload dowload backup lên xuống Google Drive. Với những cloud service khác các bạn làm tương tự.

Chú ý : Nếu bạn đã cài đặt phiên bản cũ, cũng chỉ cần chạy chuỗi lệnh dưới để update. Tham khảo Changelog các phiên bản.

1. Cài đặt Rclone

– Cài đặt với phiên bản hệ điều hành Linux 64bit

cd /root/
wget https://downloads.rclone.org/v1.47.0/rclone-v1.47.0-linux-amd64.zip
unzip rclone-v1.47.0-linux-amd64.zip
\cp rclone-v*-linux-amd64/rclone /usr/sbin/
rm -rf rclone-*

– Cài đặt với phiên bản hệ điều hành Linux 32bit

cd /root/
wget https://downloads.rclone.org/rclone-v1.39-linux-386.zip
unzip rclone-v1.39-linux-386.zip
\cp rclone-v*-linux-386/rclone /usr/sbin/
rm -rf rclone-*

Bạn nên chạy từng dòng để tranh lỗi nhe .

Sau khi cài đặt xong bạn có thể dụng lệnh rclone để xem thêm thông tin sử dụng.Nếu hiển thị như hình bên dưới là thành công nhe .

thái dương limousine chuyên cơ của mặt Đất vps

2. Một số câu lệnh thông dụng

Các câu lệnh sử dụng Rclone thường có dạng như sau:
rclone command
Trong đó command là câu lệnh, parameters là các tham số.

Một số lệnh thông dụng khi dùng Rclone:

  • rclone config – Cấu hình kết nối đến dịch vụ cloud.
  • rclone copy – Copy files từ server đến cloud, skip nếu đã tồn tại dữ liệu.
  • rclone sync – Synchronize giữa server và cloud, chỉ update dữ liệu trên cloud mà thôi.
  • rclone move – Move files từ server lên cloud.
  • rclone delete – Xóa dữ liệu của folder.
  • rclone purge – Xóa dữ liệu của folder và toàn bộ nội dung bên trong.
  • rclone mkdir – Tạo folder.
  • rclone rmdir – Xóa folder trống tại đường dẫn.
  • rclone rmdirs – Xóa toàn bộ folder trống tại đường dẫn.
  • rclone check – Kiểm tra dữ liệu server và cloud có đồng bộ hay không.
  • rclone ls – Liệt kê toàn bộ dữ liệu gồm size và path.
  • rclone lsd – Liệt kê toàn bộ thư mục.
  • rclone lsl – Liệt kê toàn bộ dữ liệu gồm modification time, size và path.
  • rclone size – Trả về kích thước thư mục.
  • Thông tin chi tiết từng lệnh bạn xem thêm ở đây.
  • Sau khi cài đặt hoàn tất mình chuyển sang cấu hình cho Rclone

3.Backup VPS lên Cloud với Rclone

  • Tạo kết nối với Google Drive

Đầu tiên chúng ta sẽ cấu hình kết nối Rclone với Google Drive, việc này chỉ phải làm 1 lần duy nhất. Kết nối được tạo tên remote (tên này có thể đổi tùy ý người sử dụng tuy nhiên phải cấu hình lại tại file shell upload và download tại Phần 3)

Chạy lệnh:
rclone config
Bạn sẽ nhận được thông báo như sau : ” No remotes found – make a new one ” nghĩa là chưa có kết nối nào ,bây giờ sẽ tạo kết nối mới : nhập ” n ” để tạo mới ,nó sẽ hiện name> bạn nhập tên kết nối, ở đây mình chọn bạn đầu là remote ,nhập ” remote ” ,nó sẽ hiện ra 27 dịch vụ lưu trữ ,bạn chọn số tương ứng với Google Drive hiện tại là số 12 ,nhập ” 12 ” vào và Enter .(tính đến thời điểm hiện tại)

Tiếp theo nó sẽ hiện client_id> bạn để trống nhấn Enter

Tiếp theo nó sẽ hiện client_secret> bạn để trống nhấn Enter

Tiếp theo nó sẽ hiện đoạn thế này để chọn quyền cho tác vụ Rclone

Scope that rclone should use when requesting access from drive.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value

 1 / Full access all files, excluding Application Data Folder.
   \ "drive"
 2 / Read-only access to file metadata and file contents.
   \ "drive.readonly"
   / Access to files created by rclone only.
 3 | These are visible in the drive website.
   | File authorization is revoked when the user deauthorizes the app.
   \ "drive.file"
   / Allows read and write access to the Application Data folder.
 4 | This is not visible in the drive website.
   \ "drive.appfolder"
   / Allows read-only access to file metadata but
 5 | does not allow any access to read or download file content.
   \ "drive.metadata.readonly"

Bạn nhập 1 rồi nhấn Enter

Tiếp theo nó hiện root_folder_id> bạn để trống nhấn Enter

Tiếp theo nó hiện service_account_file> bạn để trống nhấn Enter

Tiếp theo nó sẽ hiện Edit advanced config? (y/n) bạn nhận ” n ” rồi nhấn Enter

Sau đó nó sẽ hiện 1 đoạn mã xác nhận tài khoản gần giống thế này :

If your browser doesn't open automatically go to the following link: 
https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=202264815644.apps.
googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=
https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=869e9b22ccca2047aeeda4ae43d8c695
Log in and authorize rclone for access
Enter verification code>

Bạn sao chép lại đoạn link rồi dán vào trình duyệt

Sau đó bạn sẽ chọn tài khoản Google Drive cần lưu dữ liệu

thái dương limousine chuyên cơ của mặt Đất vps

Sau khi chọn tài khoản xong ,Google sẽ cấp cho bạn 1 mã xác nhận ,bạn copy lại mã qua Ssh dán vào để hoàn tất nhe .

Sau đó nó hỏi bạn có cấu hình Team Drive hay không ” Configure this as a team drive? “, bạn nhập ” n ” và Enter .

Sau khi thực hiện thanh công thao tác trên nó sẽ trã về 1 đoạn token và hỏi bạn xác nhận lại một lần nữa bạn chọn ” y) Yes this is OK ” bằng cách nhập ” y ” và Enter được như hình sau là cấu hình thành công nhe .

thái dương limousine chuyên cơ của mặt Đất vps

Cuối cùng bạn nhập ” q ” để thoát và hoàn tất.

Sau đây mình sẽ cho hiện hết nội dung mình thao tác trên Vps lên để dể tham khảo nhe .

root@aboyit-hotmail ~]# rclone config
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> remote
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / A stackable unification remote, which can appear to merge the contents of several remote                         s
   \ "union"
 2 / Alias for a existing remote
   \ "alias"
 3 / Amazon Drive
   \ "amazon cloud drive"
 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM                          COS, Minio, etc)
   \ "s3"
 5 / Backblaze B2
   \ "b2"
 6 / Box
   \ "box"
 7 / Cache a remote
   \ "cache"
 8 / Dropbox
   \ "dropbox"
 9 / Encrypt/Decrypt a remote
   \ "crypt"
10 / FTP Connection
   \ "ftp"
11 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
12 / Google Drive
   \ "drive"
13 / Hubic
   \ "hubic"
14 / JottaCloud
   \ "jottacloud"
15 / Koofr
   \ "koofr"
16 / Local Disk
   \ "local"
17 / Mega
   \ "mega"
18 / Microsoft Azure Blob Storage
   \ "azureblob"
19 / Microsoft OneDrive
   \ "onedrive"
20 / OpenDrive
   \ "opendrive"
21 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
22 / Pcloud
   \ "pcloud"
23 / QingCloud Object Storage
   \ "qingstor"
24 / SSH/SFTP Connection
   \ "sftp"
25 / Webdav
   \ "webdav"
26 / Yandex Disk
   \ "yandex"
27 / http Connection
   \ "http"
Storage> 12
Google Application Client Id
Setting your own is recommended.
See https://rclone.org/drive/#making-your-own-client-id for how to create your own.
If you leave this blank, it will use an internal key which is low performance.
Enter a string value. Press Enter for the default ("").
client_id>
Google Application Client Secret
Setting your own is recommended.
Enter a string value. Press Enter for the default ("").
client_secret>
Scope that rclone should use when requesting access from drive.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / Full access all files, excluding Application Data Folder.
   \ "drive"
 2 / Read-only access to file metadata and file contents.
   \ "drive.readonly"
   / Access to files created by rclone only.
 3 | These are visible in the drive website.
   | File authorization is revoked when the user deauthorizes the app.
   \ "drive.file"
   / Allows read and write access to the Application Data folder.
 4 | This is not visible in the drive website.
   \ "drive.appfolder"
   / Allows read-only access to file metadata but
 5 | does not allow any access to read or download file content.
   \ "drive.metadata.readonly"
scope> 1
ID of the root folder
Leave blank normally.
Fill in to access "Computers" folders. (see docs).
Enter a string value. Press Enter for the default ("").
root_folder_id>
Service Account Credentials JSON file path
Leave blank normally.
Needed only if you want use SA instead of interactive login.
Enter a string value. Press Enter for the default ("").
service_account_file>
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> n
If your browser doesn't open automatically go to the following link: https://accounts.google.                         com/o/oauth2/auth?access_type=offline&client_id=202264815644.apps.googleusercontent.com&redir                         ect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.google                         apis.com%2Fauth%2Fdrive&state=869e9b22ccca2047aeeda4ae43d8c695
Log in and authorize rclone for access
Enter verification code> 4/NwGlb63QHQchMGAkjJzlLvqhrSe1N6_NAoRF8VAw5v-5PuEZWeT2y4k
Configure this as a team drive?
y) Yes
n) No
y/n> n
--------------------
[remote]
type = drive
scope = drive
token = {"access_token":"ya29.Glv2Bmm32IbFCirjOmoKhHjkpWwKFsjwddvD4E8OB8gAqyACKOWHdv6mMXtG3Jn                         fbs_0axPiUqTxLW-6Ysgn1T74GZg6xBTkf69HJ93d6nv_Bb473iKCL1jWnfwj","token_type":"Bearer","refresh                         _token":"1/mafXjE2XIEaR5TfRE9G2fT4eskpF20aGobS2voLO6aE","expiry":"2019-04-25T14:21:48.6646535                         5+07:00"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:
Name                 Type
====                 ====
remote               drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
[root@aboyit-hotmail ~]#

Vậy là xong, giờ bạn có thể test với lệnh liệt kê thư mục trong kết nối remote:
rclone lsd remote:

Nếu trên Google của bạn có những thư mục nào thì nó sẽ hiện ra giống ảnh bên dưới nhe .

thái dương limousine chuyên cơ của mặt Đất vps

Phần 3 : Tạo Shell Upload và Download data backup từ Vps lên Google Drive

Kết nối Rclone với Cloud tên remote, nếu bạn sử dụng kết nối khác thì thay đổi tên trong script

Mình sẽ upload 2 file upload.sh và download.sh lên cho mọi người tải về dùng ,mình sẽ hướng dẩn cụ thể code bên dưới nhe .

Sau khi tải 2 file về tại đây ,bạn giãi nén sẽ có 2 file upload và download

Đầu tiên là file upload.sh

#################################################################################
#
# Web Server Backup and Upload to Google Drive w1784818@apps.losrios.edu
#
# Author: https://thaiduonglimousine.com
#
#################################################################################
SERVER_NAME=Backup_Hosting_Viet
SECONDS=0
TIMESTAMP=$(date +"%d-%m-%Y")
BACKUP_DIR="/home/backup"
mkdir -p "$BACKUP_DIR"
echo "Start Move Backup Website";
echo ''; 
# Loop through /home directory
for D in /home/*; do
	if [ -d "${D}" ]; then #If a directory
		domain=${D##*/} # Domain name
		echo "- "$domain;
		mv /home/$domain/backup/*.gz  /home/backup
		rm -rf  /home/$domain/backup
	fi
done
echo "Move Backup Done";
echo '';
size=$(du -sh $BACKUP_DIR | awk '{ print $1}')
echo "Start Upload Google Drive";
echo '';
/usr/sbin/rclone move $BACKUP_DIR "remote:BACKUP_VPS/$TIMESTAMP" 
echo "Upload Done";
echo '';
# --transfers=1 // upload 1 file
# Clean up
rm -rf $BACKUP_DIR
echo "Remove File Backup 30 Week Storage Done ...";
echo '';
#rclone -q --min-age 30w delete "remote:$SERVER_NAME" #Remove all backups older than 30 week
#rclone -q --min-age 30w rmdirs "remote:$SERVER_NAME" #Remove all empty folders older than 30 week
#echo "Remove File Backup 30 Week Done !"
#--leave-root chua thu muc root
echo '';
rclone cleanup "remote:" 
duration=$SECONDS
echo "Total $size, $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."

Những chổ bạn có thể thay đổi theo nhu cầu như sau :

  • Dòng 8 trong file code “SERVER_NAME=Backup_Hosting_Viet”  (Backup_Hosting_Viet thay đổi thành thư mục bạn muốn ,nó sẽ xuất hiện trong Google Drive của bạn ,trường hợp bạn muốn nó nằm trong thư mục khác có thể sửa lại thành “SERVER_NAME=a/b” với a và b là 2 thư mục tùy ý bạn,tuyệt đối thư mục không có dấu khoảng trắng  )
  • Dòng 29 trong file code ” /usr/sbin/rclone move $BACKUP_DIR “remote:$SERVER_NAME/$TIMESTAMP” ” bạn cần thay thế tên phương thức kết nối như lúc đầu mình đặt là ” remote ” thành tên trùng với tên bạn đặt nếu đặt giống mình thì không cần phải chĩnh lại nữa ,vì là tên phương thức để cấu hình thôi ,không nhất thiết phải thay đổi tên khác vì ko đụng tới nó sau khi cấu hình xong .
  • Phần xóa bản lưu trên Google Drive sau một khoảng thời gian mình đã ngưng do hay xuất hiện lỗi ,mình sẽ kiểm tra lại và bổ sung sau nhe .
  • Cơ chế upload sẽ lấy file backup từ Cyber P đẩy lên Google Drive sau đó sẽ xóa những file này đã upload lên xong đến khi hoàn tất ,tốc độ upload phụ thuộc vào từng gói Vps bạn sử dụng tại mỗi nhà cung cấp mỗi khác nhau ,hiện mình đang dùng Vps tại Hosting Việt có tốc độ upload 55Mb/s nên việc upload rất nhanh cho khối data nặng cồng kềnh từ các web trong Vps .Khi upload lên Drive file backup sẽ nằm trong 1 thư mục ngày tháng năm dd/mm/yyyy và là thư mục con nếu bạn cho vào thêm 1 thư mục khác tại dòng code số 8.

thái dương limousine chuyên cơ của mặt Đất vps

Tiếp theo là file download.sh

#!/bin/bash
#################################################################################
#																				#
# Web Server Backup and Upload to Google Drive w1784818@apps.losrios.edu		#
#																				#
# Author: https://thaiduonglimousine.com										#
#																				#
#################################################################################
SERVER_NAME=Backup_Hosting_Viet
BACKUP_DIR="/home/backup"
echo "THE LIST FOLDER DAY BACKUP ."  ;
rclone lsf --format "p" "remote:$SERVER_NAME"
echo '';
echo "SELECT DAY VIEW"; 
echo '';
read
var="$REPLY"
NGAY=$REPLY
rclone lsf --format "p" "remote:$SERVER_NAME/$NGAY"
echo '';
rclone size "remote:$SERVER_NAME/$NGAY"
echo '';
echo "Copy File Name Backup Paste Here /Select All = Enter ";
read
var="$REPLY"
FILE=$REPLY
echo '';
echo "File da chon : $FILE";
echo '';
SECONDS=0
mkdir -p "$BACKUP_DIR"
echo "Start DownLoad Backup Website";
echo '';
rclone -v copy "remote:$SERVER_NAME/$NGAY/$FILE" $BACKUP_DIR
#rclone -v copy "remote:$SERVER_NAME/$TIMESTAMP/$FILE" $BACKUP_DIR 
echo '';
echo "Download Done";
echo '';
size=$(du -sh $BACKUP_DIR | awk '{ print $1}')
echo '';
duration=$SECONDS
echo "Total $size, $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed.";

Những chổ bạn có thể thay đổi theo nhu cầu như sau :

  • Dòng code thứ 9 bạn sửa tương tự dòng code thứ 8 ở file upload.sh lun nhe, nếu sai sẽ không tải file backup từ Drive về Vps được .
  • Các dòng còn lại bạn hãy giữ nguyên nhe .
  • Cơ chế file download.sh sẽ kết nối tới Drive tới thư mục bạn đã cấu hình upload và sẽ hiện list các ngày mà Vps bạn đã backup ,sau đó bạn sẽ chọn ngày backup và chọn file backup sau đó file sẽ được tải từ Drive về Vps để khôi phục nhe ,cụ thể mình sẽ hướng dẫn sử dụng bên dưới .

Sau khi chỉnh sửa xong cả 2 file bạn upload 2 file này lên thư mục /root hoặc bạn có thể dùng lệnh sau để tạo trực tiếp 2 file trên mà không cần tìm hiểu cách upload lên Vps như sau .

nano /root/upload.sh

Sau đó bạn dán hết down code file upload.sh đã chỉnh sửa vào .Nhấn Ctrl+O nhấn Enter để lưu và Ctrl+X để thoát.

nano /root/download.sh

Sau đó bạn dán hết down code file download.sh đã chỉnh sửa vào .Nhấn Ctrl+O nhấn Enter để lưu và Ctrl+X để thoát.

Nhớ phân quyền hai file bằng lệnh :

chmod +x /root/upload.sh
chmod +x /root/download.sh

Tạo cron tự động upload hàng ngày

Bạn tiếp tục mở lại crontab bằng lệnh sau :

crontab -e

Nhấn nút Insert tạo thêm 1 dòng mới ,đối với file backup.sh mình cho chạy lúc 23h00 thì thì file upload mình cách nhau 2 tiếng chạy vào 2h sáng mình thêm vào crontab đoạn code sau :

0 2 * * * sh /root/upload.sh

Sau khi thêm xong bạn nhấn nút Esc và nhập ” :wq ” để lưu lại

:wq

Còn với file download.sh thì khi nào dùng mình mới gọi không cần tạo cron nhe .

Bây giờ mình hãy kiểm tra lại xem mọi thứ hoạt động hoàn hảo hết chưa nhé .

Đầu tiên bạn dùng  lệnh sau để chạy backup mà không phải đợi tới 23h để thử .

sh /root/backup.sh

Khi bạn chạy file backup.sh sẽ có thông báo ” UnicodeWarning: ” trong quá trình chạy ,bạn không cần phải bận tâm nhe ,mọi thứ vẫn hoạt động bình thường cho đến khi hoàn tất quá trình backup nhe (nhanh hay chậm do máy chủ của bạn và dung lượng file) .

thái dương limousine chuyên cơ của mặt Đất vps

Sau khi chạy backup song mình tiếp tục chạy file upload.sh để lấy tất cả file vừa backup được về thư mục /home/backup và tiến hành upload lên Drive (quá trình này là tự động nhanh hay nhanh là do tốc độ đường truyền nhà cung cấp quy đinh cho từng gói Vps,riêng mình đang dùng ở HostingViet mặc dù mình đang dùng gói Vps thấp nhất mà tốc độ upload trung bình đạt 90Mb/s cho tốc độ upload khũng với mức giá cạnh tranh giúp giảm đáng kể tiến độ thực hiện quy trình)

thái dương limousine chuyên cơ của mặt Đất vps

Khi quá trình bắt đầu bạn vào lại Drive xem có hệ thống có tạo được thư mục ngày tháng năm hiện tại chưa nhe .Như mình bên dưới là thành công nhe .

thái dương limousine chuyên cơ của mặt Đất vps

Từ màn hình Ssh mình có như sau

thái dương limousine chuyên cơ của mặt Đất vps

Trong thư mục /home/ Cyber P có phát sinh vài thư mục do không có file backup nên sẽ có vài thông báo lỗi mọi người cho qua nhe .Thông báo như trên là song bạn xem lại thư mục vừa được tạo trên Drive xem có hết file backup trên đó chưa nhe .

thái dương limousine chuyên cơ của mặt Đất vps

Dậy là mình đã hoàn tất 90% quá trình bài viết 10% còn lại này là phần khá quan trọng nhưng khá đơn giản .Để khôi phục website ,trước hết bạn cần xóa trọn web đó trên Cyber P khi xóa website thì database của web đó tự động sẽ được xóa kèm .

Sau khi xóa website bạn dùng lệnh sau

sh /root/download.sh

thái dương limousine chuyên cơ của mặt Đất vps

Danh sách những ngày có backup sẽ được liệt kê bên dưới bạn copy ngày cần khôi phục và dán vào dòng bên dưới .

thái dương limousine chuyên cơ của mặt Đất vps

Danh sách các file backup sẽ được hiển thị bên dưới copy tên file backup tương ứng dán vào dòng dưới nhe .Trường hợp bạn cài lại cả Vps muốn restore toàn bộ web thì bạn không cần dán tên vào mà để trống rồi nhấn Enter ,sau đó Vps sẽ tự tải tất cả file có trên thư mục đó về Vps của bạn tại thư mục /home/backup như hình bên dưới là thành công nhe .

thái dương limousine chuyên cơ của mặt Đất vps

Việc cuối cùng là bạn vào mục Backup trên Cyber P và chọn khôi phục nha ,chọn file vừa tải về để khôi phục lại website (nhớ là xóa web trước khi khôi phục nhé trường hợp web bạn đang lỗi hì xóa hãn web di từ Cyber P rồi chọn khôi phục là song nhe )

thái dương limousine chuyên cơ của mặt Đất vps

Bài viết của mình tạm ngưng tại đây ,bài viết sau mình sẽ gởi đến mọi người 2 shell với tính năng backup và download chung không cần phải ghi từng domain lại trong file backup nữa mà sẽ tự động hoàn toàn toàn sau khi backup sẽ tự upload giảm thời gian chờ đợi .Cảm ơn mọi thường đã theo dõi bài viết đầu tay của mình .

Dịch Vụ Cho Thuê Xe Limousine

Leave a Reply