Trước đây mình vẫn dùng VPS để chứa các bản backup sử dụng công cụ Duplicity hoặc Rsync. Tuy nhiên, hiện giờ đã có một 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.

backup-server-google-drive

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

Xem thêm test tốc độ upload Rclone.

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.

Trong bài viết 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 backup lên Google Drive. Với những cloud service khác các bạn làm tương tự.

Việc tạo file backup toàn bộ dữ liệu VPS mình đã hướng dẫn chi tiết trong bài viết Hướng dẫn tự động sao lưu toàn bộ VPS, bài viết này sẽ chỉ tập trung vào việc cài đặt tự động upload file nén lên Google Drive. Xem thêm hướng dẫn sử dụng Rclone với Google Drive và các dịch vụ cloud khác tại Rclone Docs.

Kịch bản tự động backup như sau:

  • Sao lưu toàn bộ database MySQL, mỗi database một file .gz
  • Sao lưu toàn bộ code trong thư mục /home/domain.com/public_html/
  • Sao lưu toàn bộ cấu hình Nginx trong thư mục /etc/nginx/conf.d/
  • Tổng hợp tất cả dữ liệu vào 1 folder
  • Upload file backup lên Google Drive vào lúc 2h00 sáng
  • Tự động xóa file backup trên VPS sau khi upload xong, xóa file backup trên Cloud nếu quá 2 tuần

Giờ bắt đầu vào việc nhé.

I. Hướng dẫn cài đặt Rclone

1. Cài đặt Rclone

Rclone là một chương trình dòng lệnh nên mình sẽ down xuống rồi di chuyển file chạy đến thư mục /usr/sbin/ của VPS để sử dụng sau này.

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.

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

cd /root/
wget http://downloads.rclone.org/rclone-v1.36-linux-amd64.zip
unzip rclone-v1.36-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 http://downloads.rclone.org/rclone-v1.36-linux-386.zip
unzip rclone-v1.36-linux-386.zip
\cp rclone-v*-linux-386/rclone /usr/sbin/
rm -rf rclone-*

Link download trực tiếp các phiên bản Rclone.

Giờ bạn có thể sử dụng lệnh rclone để xem thêm thông tin sử dụng.

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 <parameters> <parameters...>

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.

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

1. 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

Kết nối SSH với VPS rồi chạy lệnh:

rclone config

Bạn sẽ nhận được thông báo: No remotes found - make a new one, nhập n rồi nhấn Enter để tạo kết nối mới.

Ở dòng name bạn nhập remote để đặt tên cho kết nối, bạn có thể chọn tên nào cũng được.

Một danh sách các dịch vụ cloud xuất hiện, hãy chọn số 7, Google Drive rồi nhấn Enter.

Ở 2 dòng tiếp theo client_idclient_secret, bạn hãy để trống nhấn Enter.

Khi được hỏi Use auto config? hãy nhập n rồi nhấn Enter. Ngay lập tức, Rclone sẽ đưa ra một đường link, bạn có thể click thẳng vào đó hoặc copy rồi paste vào trình duyệt.

tao-ket-noi-google-drive-2

Giao diện sẽ xuất hiện như sau:

cap-quyen-cho-rclone-truy-cap-google-drive

Nhấn nút Allow để đồng ý, sau đó bạn sẽ nhận được đoạn mã verification code như hình dưới:

ma-verification-code

Quay trở lại cửa sổ SSH, copy rồi paste code này vào dòng Enter verification code> rồi nhấn Enter.

Rclone cần xác nhận thông tin một lần nữa, bạn nhấn y để đồng ý rồi nhấn q để thoát khỏi giao diện cấu hình kết nối.

Toàn bộ quá trình cài đặt sẽ tương tự như sau:

No remotes found - make a new one
n) New remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
n/r/c/s/q> n
name> remote
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Drive
   \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
   \ "s3"
 3 / Backblaze B2
   \ "b2"
 4 / Dropbox
   \ "dropbox"
 5 / Encrypt/Decrypt a remote
   \ "crypt"
 6 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
 7 / Google Drive
   \ "drive"
 8 / Hubic
   \ "hubic"
 9 / Local Disk
   \ "local"
10 / Microsoft OneDrive
   \ "onedrive"
11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
12 / SSH/SFTP Connection
   \ "sftp"
13 / Yandex Disk
   \ "yandex"
Storage> 7
Google Application Client Id - leave blank normally.
client_id>
Google Application Client Secret - leave blank normally.
client_secret>
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine or Y didn't work
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
Log in and authorize rclone for access
Enter verification code> x/xxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
--------------------
[remote]
client_id =
client_secret =
token = {"access_token":"xxxx.xxxxx-xxxxxxxxxxxxxxx_xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"Bearer","refresh_token":"1/xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxx","expiry":"2016-09-12T00:12:53.66619724-04: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

Đoạn nào bôi đỏ là cần nhập input

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

Nếu không có vấn đề gì sẽ có output tương tự như bên dưới:

test-thu-rclone

Tài khoản Google Drive này của mình mới tạo, chưa upload gì lên, chỉ có file mặc định Getting started.

2. Tạo kết nối với AmazonDrive/OneDrive/Yandex

Hiện nay, bên cạnh GG Drive, các Cloud khác cũng dần trở nên phổ biến và có nhiều ưu đãi cho người dùng. Việc tạo kết nối tới Amazon Drive/OneDrive/Yandex tương tự GG Drive, chỉ khác biệt bước lấy access_token.

Việc xác thực được thực hiện qua remote machine có trình duyệt (ví dụ máy tính của bạn) với lệnh rclone authorize "tên_cloud".

Mình chỉ ví dụ cụ thể OneDrive, đến bước xác thực:

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
For this to work, you will need rclone available on a machine that has a web browser available.
Execute the following on your machine:
        rclone authorize "onedrive"
Then paste the result below:
result>

Rclone yêu cầu chạy lệnh rclone authorize "onedrive" tại máy đang sử dụng để lấy access_token.

  1. Tải Rclone về máy cá nhân (bản cho Windows/OSX) tại Rclone Downloads. Cụ thể, Windows AMD64 – 64 Bit được file rclone-v1.36-windows-amd64.zip. Bên trong có file rclone.exe để chạy trên cửa sổ lệnh. Ví dụ đường dẫn file D:\Rclone/rclone.exe
  2.  Mở ứng dụng CMD của Windows (Run -> cmd) rồi chạy rclone authorize "onedrive" với đường dẫn file. Khi đó, lệnh sẽ tương tự D:\Rclone\rclone.exe authorize "onedrive"
  3. Browser bật ra yêu cầu bạn đăng nhập để xác thực. Thành công sẽ hiện thông báo Success. Go back to rclone to continue trên trình duyệt. Quay lại ứng dụng CMD bạn copy access_token để xác thực bên VPS.


Chú ý, khi copy access_token từ CMD bạn paste qua trình edit text (EmEditor/Notepad++) để loại bỏ hoàn toàn các kí tự thừa gây cách dòng. Khi đó, access_token chỉ là 1 chuỗi kí tự liền mạch duy nhất(dạng {"access_token":"..."expiry":"..."}).

3. Script backup toàn bộ VPS và upload lên Cloud

Trong bài Hướng dẫn tự động sao lưu toàn bộ VPS mình đã chia sẻ script tự động backup VPS, tuy nhiên trong bài này mình sẽ chỉnh sửa lại một chút, để script tự động upload lên Cloud sau khi tạo xong file nén.

Script hoạt động với Rclone phiên bản 1.35 trở lên. Kết nối Rclone với Cloud tên remote.

Script này mình viết theo cấu trúc folder trên server do HocVPS Script quản lý. Với những server khác, các bạn cần điều chỉnh lại một chút thì mới hoạt động được.

– Tạo file backup.sh ở thư mục /root/

nano /root/backup.sh

– Copy toàn bộ nội dung script bên dưới rồi paste vào (áp dụng với HocVPS Script 2.0 trở lên)

# HocVPS Script Plugin - Backup Server and Upload to Cloud

#!/bin/bash

SERVER_NAME=HOCVPS_BACKUP

TIMESTAMP=$(date +"%F")
BACKUP_DIR="/root/backup/$TIMESTAMP"
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump
SECONDS=0

mkdir -p "$BACKUP_DIR/mysql"

echo "Starting Backup Database";
databases=`$MYSQL -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema|mysql)"`

for db in $databases; do
	$MYSQLDUMP --force --opt --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done
echo "Finished";
echo '';

echo "Starting Backup Website";
# Loop through /home directory
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 "Finished";
echo '';

echo "Starting Backup Nginx Configuration";
cp -r /etc/nginx/conf.d/ $BACKUP_DIR/nginx/
echo "Finished";
echo '';

size=$(du -sh $BACKUP_DIR | awk '{ print $1}')

echo "Starting Uploading Backup";
/usr/sbin/rclone move $BACKUP_DIR "remote:$SERVER_NAME/$TIMESTAMP" >> /var/log/rclone.log 2>&1
# Clean up
rm -rf $BACKUP_DIR
/usr/sbin/rclone -q --min-age 2w delete "remote:$SERVER_NAME" #Remove all backups older than 2 week
/usr/sbin/rclone -q --min-age 2w rmdirs "remote:$SERVER_NAME" #Remove all empty folders older than 2 week
echo "Finished";
echo '';

duration=$SECONDS
echo "Total $size, $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."

# HocVPS Script Plugin - Backup Server and Upload to Cloud

#!/bin/bash

. /etc/hocvps/scripts.conf

SERVER_NAME=HOCVPS_BACKUP

TIMESTAMP=$(date +"%F")
BACKUP_DIR="/root/backup/$TIMESTAMP"
MYSQL_USER="root"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD=$mariadbpass
MYSQLDUMP=/usr/bin/mysqldump
SECONDS=0

mkdir -p "$BACKUP_DIR/mysql"

echo "Starting Backup Database";
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 --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done
echo "Finished";
echo '';

echo "Starting Backup Website";
# Loop through /home directory
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 "Finished";
echo '';

echo "Starting Backup Nginx Configuration";
cp -r /etc/nginx/conf.d/ $BACKUP_DIR/nginx/
echo "Finished";
echo '';

size=$(du -sh $BACKUP_DIR | awk '{ print $1}')

echo "Starting Uploading Backup";
/usr/sbin/rclone move $BACKUP_DIR "remote:$SERVER_NAME/$TIMESTAMP" >> /var/log/rclone.log 2>&1
# Clean up
rm -rf $BACKUP_DIR
/usr/sbin/rclone -q --min-age 2w delete "remote:$SERVER_NAME" #Remove all backups older than 2 week
/usr/sbin/rclone -q --min-age 2w rmdirs "remote:$SERVER_NAME" #Remove all empty folders older than 2 week
echo "Finished";
echo '';

duration=$SECONDS
echo "Total $size, $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."


Update 3/5/2017:
– Cập nhật lại script sử dụng với phiên bản HocVPS Script mới nhất 2.0.

Lưu ý:

  • Script trên sẽ back up toàn bộ database, mỗi database nén thành một file .gz, lưu trong thư mục mysql
  • Mỗi thư mục chứa website được nén lại thành 1 file .zip
  • Toàn bộ cấu hình Nginx của các website được lưu trong thư mục nginx
  • SERVER_NAME mặc định là HOCVPS_BACKUP, nếu muốn thay đổi folder trên Cloud bạn hãy thay đổi tham số này.
  • Muốn điều chỉnh thời gian xóa file backup, bạn sửa thông số ở dòng deletermdirs. Cụ thể, chuyển 2w thành xd (ngày) hoặc xw (tuần) tùy theo nhu cầu.

– Nhấn Ctrl+O, Enter để lưu và Ctrl+X để thoát.

– Phân quyền cho script

chmod +x /root/backup.sh

– Vậy là xong rồi đó, giờ bạn có thể test lại bằng cách chạy lệnh:

/root/backup.sh

Thử kiểm tra trên Cloud xem có thư mục mới với dữ liệu backup chưa nhé, hoặc test với lệnh rclone lsd remote:

4. Tạo cronjob tự động backup hàng ngày

Giờ mình sẽ cho script tự động chạy lúc 2h00 sáng.

EDITOR=nano crontab -e

Dán nội dung sau vào cửa sổ Terminal

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

Nhấn Ctrl+O, Enter để lưu và Ctrl+X để thoát

Vậy là xong, cứ 2h sáng hàng ngày script sẽ tự động chạy, backup toàn bộ dữ liệu của VPS rồi upload lên Cloud. Đồng thời, dữ liệu backup trên VPS sẽ được xóa luôn sau khi upload xong.

Xem thêm hướng dẫn sử dụng cronjob.

III. Tải file backup từ Cloud xuống VPS

Cách đơn giản nhất để bạn khôi phục lại dữ liệu đó là tải file backup từ Cloud xuống máy tính, rồi tùy theo nhu cầu mà up trở lại lên VPS.

Tuy nhiên, nếu muốn tải trực tiếp file backup về VPS, bạn có thể sử dụng luôn Rclone với câu lệnh copy.

Ví dụ tham khảo:

rclone copy "remote:/HOCVPS_BACKUP/2017-11-01" /root/

Lệnh trên sẽ copy folder 2017-11-01 trong thư mục HOCVPS_BACKUP trên Cloud về thư mục /root/ của VPS. Tốc độ upload và download từ Cloud đều rất nhanh.
Sau khi copy dữ liệu backup về VPS, bạn tiến hành giải nén file zip, copy thư mục web và nginx về đúng vị trí đồng thời tiến hành import database.

IV. Tổng kết

Công việc backup VPS/Server là việc vô cùng quan trọng, mình đã từng mất toàn bộ dữ liệu không khôi phục được do ấn nhầm Rebuild và chủ quan không backup. Hi vọng với bài hướng dẫn chi tiết này, các bạn sẽ có thêm phương pháp mới tiết kiệm và hiệu quả hơn.

Giờ đến lượt các bạn làm theo đó, cần hỗ trợ gì thêm hoặc góp ý gì cứ comment bên dưới nhé.

446 Comments

  1. Việt 8 comment

    Bác Luân ơi cho em hỏi VPS của em mỗi lần chạy backup đều bị đứng. Em chạy hocvps. Bác có cách làm cho nó khỏi đứng Ram được ko ạ, hay cho vps tự restart. VPS em Ram 1GB bên Vultr.
    Mong hồi âm từ anh!

    1. Việt Phương Moderator

      Vậy bạn theo dõi lúc bạn backup thủ công gặp vấn đề như thế nào? top -mxem hệ thống nữa

        1. Việt Phương Moderator

          Tất nhiên bạn backup bằng Rclone rồi. Ý là khi bạn backup thủ công /root/backup.sh thì hệ thống như thế nào đó

          1. Việt 8 comment

            Backup thủ công thì em dùng hocvps, có tính năng cho backup từng web ra, và backup bình thường, không thấy báo gì cả

          2. Việt Phương Moderator

            Ý mình là bạn chạy /root/backup.sh thủ công thì chiếm dụng tài nguyên server như thế nào

          3. Việt 8 comment

            Nó chạy bình thường thôi anh và lưu vào folder root/backup/ngày : http://prntscr.com/fu6sxf
            Chứ em cũng không biết nó chiến dụng server như thế nào? Hay anh chỉ em cách gỡ rclone này cũng dc ạ!

          4. Việt Phương Moderator

            Gỡ thì bạn gỡ cái /usr/sbin/rclone và xóa crontab đi là được

          5. Việt 8 comment

            ý anh gỡ cái /usr/sbin/rclone có phải là xóa nó đi ko ạ? Với xóa crontab bằng cách nào ạ?

          6. Việt Phương Moderator

            uhm, xóa cái /usr/sbin/rclone. Còn xóa crontab thì bạn edit crontab như lúc add rồi xóa dòng đó đi là được

    1. Việt Phương Moderator

      Script trong bài đã giúp tự tạo backup rồi up lên Cloud đó bạn

      1. đức 31 comment

        Tức là Rclone sẽ tự động tạo backup và up lên google drive
        hay là hocvps scrip backup sẽ làm việc đó?

        tại e thấy 2 bài viết cùng 1 ngày, hai bài khác nhau chỗ nào ạ e ko hiểu lắm 🙁

        1. Việt Phương Moderator

          Script trong bài này bao gồm tạo backup và dùng rclone để up lên nhé

          1. đức 31 comment

            ok e hiểu r

            vậy là sẽ dùng hocvps scrip để tạo file backup rồi dùng rclone để up lên google drive

            vậy hocvps scrip backup có dùng đc trên vps mà ko dùng hocvps ko ạ?

          2. Việt Phương Moderator

            Trong script backup đó ĐÃ BAO GỒM CẢ TẠO FILE BACKUP VÀ DÙNG RCLONE ĐỂ UPLOAD LÊN
            Còn nếu bạn sử dụng hệ thống khác thì sửa đường dẫn lưu thư mục web cũng như pass database cho phù hợp

  2. Nguyễn Công 14 comment

    Em muốn chuyển ngược dữ liệu từ VPS lên Drive thì làm kiểu j a nhỉ

    1. Việt Phương Moderator

      Script là chuyển dữ liệu từ VPS lên Cloud mà ban. Bạn chuyển dữ liệu lên Cloud thì dùng lệnh copy/move của Rclone nhé

  3. Vu Hai 7 comment

    Bác luân cho em hỏi em cài đến khúc nhập link vào thì bị lỗi

    400. That’s an error.

    Error: invalid_request

    Missing required parameter: redirect_uri

    Làm sao để fix ạ.

    1. Việt Phương Moderator

      Link đó bạn copy thiếu phần cuối, có redirect_uri rồi. Bạn click thẳng hoặc copy lại đầy đủ nhé

      1. Vu Hai 7 comment

        Em đã sửa lại và ok, em dùng scrip vpssim, chạy backup chỉ backup được public_html và nginx còn sao database ko backup được nhỉ, bác giúp em phát

        1. Việt Phương Moderator

          VPSSIM hệ thống MySQL khác. Bạn dùng bản script cho HocVPS 1.8 rồi điền thẳng password mysql vào, không sử dụng biến

    1. Việt Phương Moderator

      Bạn chạy rclone config rồi thêm remote mới vào. Remote cũ có thể xóa đi hoặc để nguyên không quan trọng

  4. fususu 17 comment

    Em vừa chạy backup.sh một phát trên vps mới, tự nhiên nó đòi nhập password database thủ công luôn, cái cũ thì không bị 🙁
    —————————
    /root/backup.sh
    Starting Backup Database
    Enter password:
    ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
    Finished

    Starting Backup Website
    – mrsusu.com
    – phut59.com
    Finished

    Starting Backup Nginx Configuration
    Finished

    Starting Uploading Backup
    ——————–

    Nếu ko nhập đúng pass thì nó chỉ backup folder và conf thôi.
    Mà có 2 website, biết nhập pass của web nào?
    Mà nếu vậy thì làm sao crontab chạy được tự động?

    1. Việt Phương Moderator

      Bạn dùng HocVPS phiên bản bao nhiêu và script phiên bản bao nhiêu?

      1. fususu 17 comment

        Mình dùng bản 1.8. Mà mình tự fix được rồi.

        Ko hiểu sao cái biến mariapass nó không tự động thay password nên nình tạo mật khẩu mới cho user root, và thay luôn vào đó 🙂

      1. Việt Phương Moderator

        Bạn dùng bản script dành cho HocVPS 1.8. Trong đó bạn nhập thẳng giá trị user và password của MySQL
        Còn đường dẫn website bạn sửa cho phù hợp hệ thống mình, trong HocVPS là /home/
        Bạn đọc code phần Starting Backup Website là quy định thư mục website

          1. Phan Khánh 13 comment

            chạy web chính thì ok rồi nhưng biết sao cái cdn nó lại k zip

            Starting Backup Website
            – cdn-proxy.noixxxx.com

            zip error: Nothing to do! (/root/backup/2017-08-16/cdn-proxy.noixxxx.com.zip)

          2. Việt Phương Moderator

            Vì script backup thư mục /home/$domain/public_html nên bạn có sửa thành /var/www/ thì bên trong vẫn không có public_html để nó tìm và nén. Nên bạn tự sửa phần đường dẫn cho phù hợp hệ thống nhé

        1. Phan Khánh 13 comment

          bạn giúp mình vơi, mình hạy thì file zip của web khi zip xong, đã thấy trên server, một lúc sau file file đó bị xóa trong khi chưa up lên driver, thế là ntn bạn??

          1. Việt Phương Moderator

            Có thể tiến trình move có vấn đề. Câu lệnh trong script là move nhé bạn, không phải copy rồi xóa nên chỉ tồn tại ở VPS/Driver thôi

          2. Việt Phương Moderator

            Thì như mình đã nói, quá trình move có thể có vấn đề. Bạn kiểm tra log xem.
            Bên cạnh đó, bạn xem move được 1 file bất kì lên drive không rclone move file "remote:thư mục"

          3. Việt Phương Moderator

            Có thể script không zip đc code web. bạn bỏ phần Upload và Cleanup trong script rồi test xem có đầy đủ mọi thứ trong $BACKUP_DIR không. Vì hệ thống bạn khác HocVPS Script nên Script bạn cũng đã tự sửa cho phù hợp nên chỉ có tự bạn check thôi

          4. Việt Phương Moderator

            Ý mình là check nó có zip đc codeweb không mà, bạn hiểu ý không?

          5. Phan Khánh 13 comment

            nó có zip được bạn, mình có nói trên rồi mà. đã có file zip, 7.8gb một lúc sau thì mất, không còn trên server cũng như chưa có trên drive. còn nginx với data thì đã lên drive

          6. Việt Phương Moderator

            Drive bạn đủ trống 7.8GB không? Bạn tự chạy lệnh rclone move file đó lên driver thì như thế nào

          7. Phan Khánh 13 comment

            drive của mình trống 10gb nữa, đó là mình tự chạy lệnh bạn ạ. 1 web khác nhỏ nhỏ trong server của mình đc zip và up lên bình thường

          8. Việt Phương Moderator

            Thế bạn upload thủ công cả thư mục thì được?

  5. lâm chương 1 comment

    Em chạy mọi thứ oke hết, đến khi test lại thì bị lỗi này ạ
    Failed to create file system for “remote:”: didn’t find section in config file
    làm sao bây giờ ạ

    1. Việt Phương Moderator

      Tức là nó không tìm thấy kết nối nào tên là remote cả. Bạn kiểm tra rclone config ra kết quả gì

Comment của bạn

Your email address will not be published. Required fields are marked *