Bạn gặp khó khăn khi phải chuyển một số lượng lớn files, thư mục, hình ảnh… trên Google Drive mà phải thực hiện mở máy tính 24/7, theo dõi quá trình chuyển đổi liên tục, không thể dành thời gian cho các việc khác trong quá trình chuyển dữ liệu hoặc môi trường thực hiện chuyển dữ liêu không được đảm bảo liên tục.
Trong bài viết này vHost sẽ hướng dẫn bạn cách để thực hiện việc chuyển dữ liệu từ Google Drive về Email Pro của vHost đơn giản nhất.
Nội Dung
Cấu hình chuyển đổi dữ liệu từ Google Drive về Email Pro
Cài đặt rclone và screen
Chuẩn bị một máy chủ Cloud VPS / VPS / Dedicated Server sử dụng Linux có thể hoạt động liên tục để phục vụ cho việc chuyển dữ liệu.
Để có thể thực hiện cài đặt rclone với phiên bản mới nhất trên hệ thống, bạn thực hiện tham khảo chạy câu lệnh sau để cài đặt. Thông tin chi tiết hơn về các gói cài đặt này bạn có thể theo dõi tại link: https://rclone.org/install/
curl https://rclone.org/install.sh | sudo bash
Để cài đặt và chạy screen trên máy chủ Linux, bạn có thể tham khảo theo hướng dẫn sau
Bước 1: Cài đặt screen
Cài đặt screen Linux trên Ubuntu, Debian,… OS sử dụng cấu trúc Apt
sudo apt install screen
Cài đặt screen Linux trên CentOS, Redhat, Fedora,… OS sử dụng cấu trúc using y
sudo yum install screen
Bước 2: Khởi tạo một screen session
screen -S session_name
Bước 3: Bạn sẽ thực hiện khởi tạo các kết nối và chuyển dữ liệu theo hướng dẫn bên dưới để chuyển dữ liệu từ Google Drive về hệ thống Email Pro rồi sau đó sẽ quay lại bước 4.
Bước 4: Detach screen đang chạy ra khỏi session SSH đang sử dụng bằn cách sử dụng tổ hợp phím CTRL + A + D. Chương trình đang chạy trong screen sẽ tiếp tục chạy sau khi bạn detach screen
Bước 5: Để quay lại session screen đang chạy, bạn nhập lệnh sau
Để list các session đang có bạn chạy lệnh:
screen -ls
Output: There are screens on: 1083.pts-0.session_name (Detached) 1036.pts-0.session_name (Detached) 2 Sockets in /run/screens/session_name.
Để restore lại screen 1083 bạn chạy lệnh sau:
screen -r 1083
Với hướng dẫn chạy screen, bạn có thể chuyển dữ liệu trong detach screen mà không cần phải online 24/7 với máy tính của bạn
Cấu hình tạo remote trên vDrive và Google Drive
Cấu hình tạo remote đến hệ thống vDrive của Email Pro
Bước 1: Sau khi cài đặt xong vDrive, bạn chạy câu lệnh sau để tiến hành khởi tạo một máy chủ remote đến hệ thống vDrive
rclone config
Sau đó chọn nhập nút n để khởi tạo một kết nối mới rồi bạn thực hiện khai báo phần cấu hình trên vDrive như sau:
- Phần Storage bạn chọn webdav
- Phần đường dẫn URL kết nối đến máy chủ: https://storage.vdrive.vn/remote.php/webdav
- Phần lựa chọn vendor, bạn lựa chọn vào Nextcloud
Bước 2: Bạn đăng nhập vào hệ thống vDrive theo link https://storage.vdrive.vn/index.php/apps/dashboard/ để lấy môt vài thông tin xác thực để kêt nối đến hệ thống như username, password và bearer code như sau:
Truy cập vào link avatar của bạn, chọn Settings rồi chọn tiếp vào tab Personal, chọn Security
Nhập App Name và chọn tiếp vào mục Create new app password
Hệ thống sẽ hiển thị thông tin app password, Bạn sẽ sử dung thông tin này để làm Bearer token khi khai báo trên rclone config cho vDrive
Bước 3: Quay lại phần cấu hình rclone đang thực hiện để khai báo username, password và bear token đã thực hiện ở bước 2. Chọn y (Yes this is OK) để hoàn tất phần cấu hình.
Bước 4: Sau khi đã khai báo hoàn tất, bạn sẽ thấy thông tin tên remote hiển thị ở rclone config. bạn cũng có thể kiểm tra phần đã cấu hình ở thư muc ~/.config/rclone/rclone.conf
Cấu hình tạo remote đến hệ thống Google Drive
Kích hoạt Google Drive API và khởi tạo xác thực trên Google Drive
Bước 1:Bạn thực hiện tạo một ProJect App trên https://console.cloud.google.com/. Ở trên góc cùng bên trái Menu chọn IAM & Admin > Create a Project
Nhập tên và thông tin Project ID của bạn, bảng điều khiển điều hướng đến trang Dashboard chính và project của bạn sẽ được tạo trong vòng vài phút.
Bước 2: Enable API Google Drive bằng cách chọn vào thanh Menu -> APIs and Services -> Libary
Bước 3: Tìm đến tab Google Workspace rồi click chuột vào Google Drive API rồi chọn Enable API này lên
Bước 4: Quay trở lại menu, rồi bạn chọn vào APIs and Services -> OAuth consent screen. Nhập thông tin App information
Sau đó bạn nhập tiếp vào Developer Contact Information rồi chọn Save and Continue để sang bước tiếp theo.
Scope, Optional Info thì không bắt buộc nên bạn có thể skip qua phần này. Trong trường hợp bạn cần hiểu rõ về phần cấu hình này thêm có thể tham khảo tại https://developers.google.com/workspace/guides/configure-oauth-consent
Bước 5: Sau khi đã khai báo xong ở phần Oauth Consent, bạn quay trở lại trang chính của OAuth consent screen để chuyển trạng thái từ Testing sang Production
Bước 6: Khởi tạo Credentials cho Google Drive API đã kích hoạt. Bạn vào thanh menu bên góc trái, chọn Enabled APIs & Services -> CREATE CREDENTIALS -> OAuth Client ID
Sau khi bạn thực hiện khai báo Name [1] và URIs [2] (*) như bên dưới, bạn sẽ nhận được thông tin Client ID và Client Secret như ổ mục số [3]
Phần Authorized redirect URLs, bạn nhập kết quả sau:
http://127.0.0.1:53682
http://127.0.0.1:8888
(*): Ở phần URIs bạn nhập URIs như trên để thực hiện kết nối đến Google Drive API quá rclone trên một máy chủ Linux remote. Trong trường hợp bạn sử dụng một port khác, vui lòng thay đổi lại đúng port ở bước 7.
Cấu hình với Rclone
Bước 7: Khởi tạo Tunnel để kết nối trên Putty. Sau khi đã nhập thông tin SSH username, port, ssh key. Bạn chọn tiếp vào mục Connection -> SSH -> Tunnels để khai báo SSH Port Forwarding rồi chọn Open để kết nối
Lưu ý: Trong trường hợp bạn sử dụng một source port khác, vui lòng update lại source port trên URIs đã khai báo ở Credentials ổ bước 2.
Bước 8: Sử dụng câu lệnh rclone config để tiếp tục thực hiện khai báo kết nối đến máy chủ Google Drive
rclone config
- [1] Storage chọn drive để lựa chọn kiểu lưu trữ là Google Drive
- [2] Client_ID: Sử dụng client_id đã lấy ở bước 6
- [3] Secret_ID: Sử dụng client_secret đã lấy ở bước 6
- [4] Scope: Chọn 1
Ở phần root_folder_id và sevice_account_file bạn có thể bỏ trống ở phần này, chọn n vào mục Edit Advanced Config và chọn y ở phần Auto Config
Bạn sẽ copy theo đường dẫn trên và thay port 53682 bằng port 8888 đã khai báo ở bước 6,7
Example: http://127.0.0.1:8888/auth?state=cKQMR0v7ZxyHkKG955-Oaw
Lựa chọn Account đã cấu hình trên Console của Google và chọn Allow để cho phép kết nối từ rclone đến Google Drive
Lưu ý: Trong trường hợp bạn gặp lỗi This site cannot be reach do đường dẫn của Google đã chuyển hướng sang đường dẫn http://127.0.0.1:53682/…., lúc này bạn cần hay đổi lại port cho chính xác như bên dưới.
Chuyển dữ liệu từ Google Drive sang hệ thống vDrive
Sau khi đã khởi tạo 2 máy củ remote hoàn tất, bạn sử dụng câu lệnh sau để chuyển dữ liệu từ Google Drive về vDrive
rclone copy <name-remote-google-drive> <name-remote-vdrive> -P
Để xóa email ở source remote (Google Drive) thi bạn có thể sử dụng câu lệnh sau để move thay vì copy
rclone move <name-remote-google-drive> <name-remote-vdrive> -P
Quá trình chuyển đổi sẽ như sau:
Ở bài viết trên vHost.vn đã hướng dẫn cho bạn cách để chuyển dữ liệu từ Google Drive về hệ thống Email Pro, nếu bạn có bất kì câu hỏi nào liên quan đến chuyên mục Email Pro vui lòng phản hồi qua bình luận bên dưới.