• Tools Online
    • Tạo CSR
    • SSL Checker
    • DNS Checker
    • View IP
    • Whois Domain
  • Diễn Đàn Hỏi Đáp
  • Profile
  • Ủng hộ
Đỗ Trung Quân
Banner
  • Home
  • Hướng dẫn chung
  • Linux
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
      • Rocky Linux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
      • Reverse Proxy
    • Virtualization
      • KVM
      • Proxmox
      • OpenVZ
    • Monitoring Tool
      • Prometheus
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Kubernetes
      • Jenkins
      • Cloud
        • GCP
        • AWS
        • Azure
    • Mail Server
    • Database
    • VPN
  • ControlPanel
    • cPanel
    • DirectAdmin
    • aaPanel
    • CyberPanel
    • VestaCP
    • FastPanel
    • CloudPanel
    • HestiaCP
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • Security
    • SSL
    • Firewall
  • Dịch Vụ
    • Thiết kế web
    • Dịch vụ cài đặt tối ưu VPS/Server
    • Cài đặt WordPress & Tối ưu WordPress
    • Dịch vụ xử lý mã độc trên WordPress
    • Xác minh cài đặt SSL
    • Dich vụ Backlink
  • Liên Hệ

Sao lưu website lên Google Drive với Rclone

by ĐỖ TRUNG QUÂN 29 Tháng Tám, 2021
written by ĐỖ TRUNG QUÂN Published: 29 Tháng Tám, 2021Last Updated on 20 Tháng Bảy, 2022 1 comment 448 views

NỘI DUNG

  • Bước 1: Cài đặt Rclone
  • Bước 2: Cấu hình Rclone
  • Bước 3: Script backup lên Google Drive
  • Bước 4: Tạo cron sao lưu tự động và xoá
  • Bước 5: Tải file backup từ Cloud xuống VPS

Xin chào tất cả các bạn đang xem bài viết của minh. Việc sao lưu dữ liệu luôn là giải pháp ưu tiên của ngươi quản trị web. Giúp dữ liệu của bạn luôn trong trạng thái an toàn, sẵn sàng, khi gặp sự cố.

Thông thường các nhà cung cấp dịch vụ lưu trữ có hỗ trợ bạn sao lưu dữ liệu và lưu trên hệ thống của họ, tuy nhiên sẽ bị giới hạn theo thời gian và số lượng. Vì vậy bạn hãy chủ động thay vì phó thác cho nhà cung cấp.

Mình có viết 2 bài sao lưu dữ liệu với rclone trên control là AApanel và CyberPanel. Vì nó tích hợp sẵn trên Control, nếu bạn đang dùng 2 control này có thể xem bài viết bên dưới. Nhưng nếu bạn chạy thuần script, dựng VPS thủ cộng, hoặc một số control panel chưa tích hợp sẵn thì bạn phải làm thế nào. Bài viết này sẽ hướng dẫn bạn setup thủ công cũng với Rclone.

  • Hướng dẫn cấu hình Backup aaPanel lên Google Drive
  • Hướng dẫn backup CyberPanel lên Google Drive
Sao lưu website lên Google Drive với  Rclone

Bước 1: Cài đặt Rclone

Việc cài đặt Rclone rất đơn giản, bạn chỉ cần copy lệnh bên dưới và dán vào cửa sổ SSH với quyền root là được.

cd /root/
wget https://downloads.rclone.org/v1.57.0/rclone-v1.57.0-linux-amd64.zip
unzip rclone-v*.zip
cp rclone-v*-linux-amd64/rclone /usr/bin/rclone

Bước 2: Cấu hình Rclone

Sau khi cài đặt xong Rclone thành công. Để cấu hình rclone, bạn thực hiện như sau. Tại cửa sổ SSH bạn nhập lệnh rclone config

Sau đó bạn hãy chọn các tuỳ chọn như ảnh bên dưới để cấu hình. Và mình sẽ chú thích tương ứng cho mỗi ảnh để bạn dễ nhận biết.

Chú thích:

  • name>: bạn đặt tên bất kỳ, tốt hơn hết bạn để là backup vì trong script ở Bước 3 mình đã gán sẵn rồi.
Sao lưu website lên Google Drive với  Rclone

Tiếp theo chọn nơi lưu trữ. Rclone hỗ trợ rất nhiều nơi lưu trữ và ở đây mình chọn Google Drive. Tuy phiên bản Rclone mà số thứ tự nó khác nhau. Với bản mình đang dùng thì là số 15.

Sao lưu website lên Google Drive với  Rclone

Sau đó bạn nhập vào số 15 ở mục Storage. Và ở client_id> client_secret> bạn nhận Enter trên bàn phím nhé.

Sao lưu website lên Google Drive với  Rclone

Tiếp theo bạn chọn dòng Full access all files, excluding Application Data Folder tương ứng số 1

  • scope: Nhập vào 1
  • root_folder_id> Nhấn Enter
  • Edit advanced config? (y/n): Chọn n
  • Use auto config?: Chọn n
  • Please go to the following link: Bạn hãy copy liên kết trên và dán vào thanh URL của trình duyệt. Sau đó thực hiện chọn tài khoản Google lưu trữ và làm theo. Khi hiện mã token bạn hãy copy lại.
  • Enter verification code>: Dán mã token vừa lấy xong vào.
Sao lưu website lên Google Drive với  Rclone

Sau đó bạn chọn như sau để tiếp tục.

  • Configure this as a Shared Drive (Team Drive): Chọn n
Sao lưu website lên Google Drive với  Rclone

Bước 3: Script backup lên Google Drive

Sau khi đã hoàn tất Bước 2. Bạn hãy tạo một script để backup website đây lên Google Drive. Mình sẽ tạo script như sau.

touch /root/auto-backup.sh
chmod +x /root/auto-backup.sh
vi /root/auto-backup.sh

Sau đó bạn copy toàn bộ script bên dưới. Và dán vào file auto-backup.sh vừa tạo. Nhưng lưu ý cho mình bạn cần thay đổi một số thông tin sau. Trong đó các thông tin bạn cần thay là:

  • MYSQL_USER= Ở đây mình backup Database với user root. Nếu bạn sử dụng user root thì giữ nguyên, nếu backup duy nhất 1 Database thì nhập vào user của database cần backup
  • MYSQL_PASSWORD= Bạn hãy nhập vào mật khẩu ROOT MYSQL hoặc mật khẩu của Database nếu sử dụng user
  • THƯ MỤC CHÍNH CỦA WEB: Nếu mã nguồn web bạn nằm ở /home/ thì bạn để nguyên script bên dưới. Nhưng nếu mã nguồn nằm thư mục khác như thì bạn hãy thay đổi lại.
#!/bin/bash
 
SERVER_NAME=backup-all ## Tên thư mục trong Google Drive 
 
TIMESTAMP=$(date +"%F")
BACKUP_DIR="/root/backup/$TIMESTAMP"
MYSQL_USER="root"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="PmHmPkOqPPG4" ## Nhap Pass Root MYSQL cua ban vao
MYSQLDUMP=/usr/bin/mysqldump
SECONDS=0
 
mkdir -p "$BACKUP_DIR/mysql"

echo "Backup Database In Process";
databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema|mysql)"`
 
for db in $databases; do
	$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done
echo "Backup Database Successful";
echo '';
 
echo "Backup Website In Process";
# THƯ MỤC CHÍNH CỦA WEB
for D in /home/*; do
	if [ -d "${D}" ]; then #If a directory
		domain=${D##*/} # Domain name
		echo "- "$domain;
		zip -r $BACKUP_DIR/$domain.zip /home/$domain/public_html/ -q -x /home/$domain/public_html/wp-content/cache/**\* #Exclude cache
	fi
done
echo "Backup Website Successful";
echo '';

echo "Dang tien hanh Backup len Google Drive";
/usr/bin/rclone move $BACKUP_DIR "backup:$SERVER_NAME/$TIMESTAMP" >> /var/log/rclone.log 2>&1  #backup: remote config name created in previous step.
# Clean up
rm -rf $BACKUP_DIR  #Delete backup directory on VPS
/usr/bin/rclone -q --min-age 1w delete "backup:$SERVER_NAME" #Remove all backups older than 1 week on Google Drive Backup Directory
/usr/bin/rclone -q --min-age 1w rmdirs "backup:$SERVER_NAME" #Remove all empty folders older than 1 week Google Drive Backup Directory
/usr/bin/rclone cleanup "backup:" #Cleanup Trash , Delete all files in trash directory
echo "Da dua tat ca du lieu len Gooogle Drive hoan tat";
echo '';
 
duration=$SECONDS
echo "Total $size, $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."

Lưu ý: Trong script trên mình đang setup cố định sao lưu 7 ngày liên tục. Bản sao lưu thứ 8 sẽ bị đè và thay thế bản cũ. Các bản sao lưu sẽ tự động xoá trên Google Drive. Cụ thể bạn sẽ thấy ở phần min-age 1w. Nếu bạn muốn giữ lâu hơn hãy thay đổi số này theo tuần hoặc ngày.

Ví dụ:

  • 2w: Tương ứng 2 tuần
  • 10d: Tương ứng 10 ngày

Bước 4: Tạo cron sao lưu tự động và xoá

Mình sẽ tạo một cron để tự động sao lưu định kỳ. Ở cửa sổ SSH bạn nhập lệnh crontab -e sau đó nhấn phím i hoặc Insert và nhập vào lịch sau

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

Lịch này là cứ đúng 1 giờ sáng hằng ngày sẽ tự động chạy Backup move Google Drive.

Như vậy đã hoàn tất các bước cấu hình tự động sao lưu website lên Google Drive với Rclone. Bên dưới là một ảnh mình thực hiện trên một số VPS.

Sao lưu website lên Google Drive với  Rclone
Sao lưu website lên Google Drive với  Rclone

Bước 5: Tải file backup từ Cloud xuống VPS

Trường hợp bạn muốn tải trực tiếp file từ Google Drive xuống VPS. Bạn sử dụng lệnh sau

rclone copy "backup:/backup-all/file-can-tai" /thu-muc-luu-file

Ví dụ: rclone copy "backup:/backup-all/2021-08-29" /home/dotrungquan.info/public_html

Trong đó:

  • rclone copy: Lệnh copy file về
  • backup: tên cấu hình rclone mà bạn đặt ở Bước 2
  • backup-all: Tên thư mục lưu ở Google Drive
  • 2021-08-29: File cần tải về
  • /home/dotrungquan.info/public_html: Thư mục lưu file tải về ở VPS

Chúc bạn thực hiện thành công.

5/5 - (1 bình chọn)

Hãy tham gia Nhóm Hỗ Trợ VPS Hosting để cùng học hỏi và trao đổi kiến thức nhé. Chúc bạn thành công.

rclone
Share 0 FacebookTwitterPinterestTelegramEmail
ĐỖ TRUNG QUÂN

Mình tên là Đỗ Trung Quân, hiện đang công tác tại AZDIGI với vị trí là SysAdmin. Mình đam mê viết Blog. Vì viết Blog giúp mình trau dồi được nhiều kỹ năng. Học hỏi thêm nhiều kiến thức mới, từ đó mình có thể chia sẻ đến các bạn các bài viết tài liệu bổ ích hơn. Hiện tại mình là admin của Blog dotrungquan.info - linuxcanban.com - it.info.vn. Mới đây mình có tạo ra một Nhóm Hỗ Trợ VPS Hosting với mục đích gây dựng một cộng đồng nhỏ để mọi người trao đổi kinh nghiệm, kiến thức quản trị VPS. Các thủ thuật, mẹo vặt khi sử dụng VPS. Rất mong nhận được sự ủng hộ của các bạn.

Bạn sẽ thích bài viết này

Hướng dẫn tạo swap trên Linux

15 Tháng Ba, 2023

Lệnh trace và cách sử dụng lệnh trace...

25 Tháng Hai, 2023

Hướng dẫn kiểm tra dịch vụ đang chạy...

21 Tháng Hai, 2023

SELinux là gì Cách tắt SELinux

19 Tháng Hai, 2023

Sử dụng lệnh rm một cách an toàn

19 Tháng Hai, 2023

Lệnh kill và pkill là gì? Hướng dẫn...

19 Tháng Hai, 2023

Cách sử dụng lệnh ab để kiểm tra...

19 Tháng Hai, 2023

Tìm hiểu về cấu trúc thư mục trong...

17 Tháng Hai, 2023

Hướng dẫn xử lý Lỗi 400: invalid_request Rclone

17 Tháng Hai, 2023

Hướng dẫn cài đặt ImageMagick và hỗ trợ...

16 Tháng Hai, 2023
Theo dõi
Đăng nhập
Thông báo của
guest

guest

1 Comment
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
wpdiscuz   wpDiscuz

Nhóm Hỗ Trợ Hosting VPS

Nhóm Hỗ Trợ VPS Hosting

Tin Khuyến Mãi

Thông tin về tôi

Thông tin về tôi

Mình tên là Đỗ Trung Quân, hiện đang công tác tại AZDIGI với vị trí là SysAdmin. Mình đam mê viết Blog. Vì viết Blog giúp mình trau dồi được nhiều kỹ năng. Học hỏi thêm nhiều kiến thức mới, từ đó mình có thể chia sẻ đến các bạn các bài viết tài liệu bổ ích hơn.

Facebook Instagram Youtube Telegram

BÀI VIẾT PHỔ BIẾN

  • 1

    Hướng dẫn chuyển website WordPress bằng All in one Migration

  • 2

    Sử dụng Plugin Query Monitor để gỡ lỗi và tăng hiệu suất

  • 3

    Khắc phục thông báo “utf8mb4 yêu cầu thư viện mới hơn” trên WordPress

  • 4

    Sửa lỗi WordPress “Post-processing of the image failed likely because the server is busy”

Phản hồi gần đây

  • Minh trong Thiết lập nhiều website sử dụng chung một tài khoản MySQL
  • Lê Văn trong Hướng dẫn trỏ tên miền về Blogspot (blogger)
  • Quân trong Hướng dẫn cài đặt và cấu hình plugin W3 Total Cache cho website WordPress
  • Học Luật trong Sử dụng RSYNC để Clone một VPS hoàn chỉnh

Top Commentators

  • Anh Quân Anh Quân (133)
  • nghĩa nghĩa (8)
  • Bùi Đức Hiệp Bùi Đức Hiệp (7)
  • David Do David Do (7)
  • Bamboo Bamboo (5)
  • Bình Minh Bình Minh (5)
  • Cai Việt Hoàng Cai Việt Hoàng (5)
  • Duc Thuan Duc Thuan (5)

BẠN BÈ & ĐỐI TÁC

Thạch Phạm | aaPanel | Linux Căn Bản | Bảo Trần | Trương Quốc Cường | Đàm Trung Kiên | CaiSSL.com

Bạn được quyền sao chép lại nội dung trên website Đỗ Trung Quân, miễn là có dẫn nguồn.

Hosting/VPS được tài trợ bởi AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay

AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay


Back To Top
Đỗ Trung Quân
  • Home
  • Hướng dẫn chung
  • Linux
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
      • Rocky Linux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
      • Reverse Proxy
    • Virtualization
      • KVM
      • Proxmox
      • OpenVZ
    • Monitoring Tool
      • Prometheus
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Kubernetes
      • Jenkins
      • Cloud
        • GCP
        • AWS
        • Azure
    • Mail Server
    • Database
    • VPN
  • ControlPanel
    • cPanel
    • DirectAdmin
    • aaPanel
    • CyberPanel
    • VestaCP
    • FastPanel
    • CloudPanel
    • HestiaCP
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • Security
    • SSL
    • Firewall
  • Dịch Vụ
    • Thiết kế web
    • Dịch vụ cài đặt tối ưu VPS/Server
    • Cài đặt WordPress & Tối ưu WordPress
    • Dịch vụ xử lý mã độc trên WordPress
    • Xác minh cài đặt SSL
    • Dich vụ Backlink
  • Liên Hệ
wpDiscuz