Chú ý: cần một gmail để có Google Drive backup data, nên chọn email phụ chuyên cho việc này, tránh sử dụng email chính.
–
Trong bài viết trước, chúng ta đã tìm hiểu cách backup toàn bộ dữ liệu từ Cloudflare R2 về máy tính cá nhân & làm một file .bat one-click để tiện dùng luôn. Bài này chúng ta tiếp tục gia cố thêm một lớp backup từ máy tính cá nhân lên Google Drive. Lý do làm điều này là vì máy tính cá nhân dù có độ an toàn cao vẫn có thể phát sinh vấn đề làm mất, hỏng toàn bộ hoặc một phần dữ liệu lưu tại đây (hỏng hóc ổ cứng bất chợt, virus,…). Trong khi Google Drive (hoặc các dịch vụ storage tương tự) có mức độ an toàn rất cao, và sẽ thêm một lớp dự phòng trực tuyến để bạn có thể lấy dữ liệu về từ bất cứ máy tính nào có kết nối mạng.
Chúng ta vẫn sử dụng Rclone để đẩy dữ liệu từ máy cá nhân lên Google Drive và tận dụng các tính năng quan trọng của nó như việc không phải tải lại các file đã tải lên trước đó.
Phần này vẫn tập trung trên máy tính dùng hệ điều hành Windows. Các bước làm (lưu ý là trước đó đã tải phần mềm Rclone về máy và đặt vào file giải nén vào thư mục C:\Rclone như đã làm ở bài trước).
A. Tạo kết nối Rclone với Google Drive
Trước khi thao tác với Rclone, điều đầu tiên bạn cần làm là đăng nhập tài khoản gmail cho Google Drive muốn dùng, nên là một tài khoản phụ chuyên cho việc backup, và không nên là tài khoản chính của bạn. Vì tài khoản phụ này bạn sẽ cấp quyền cho Rclone truy cập và sử dụng Google Drive.
1. Mở cmd ở Windows.
2. Nhập vào lệnh dưới đây để chuyển sang dùng Rclone:
cd C:\Rclone
3. Cấu hình:
rclone config
4. Nhập n để tạo kết nối từ xa mới.
5. (name) Nhập tên cho nó, ví dụ kcdrive
6. (storage) Nhập dịch vụ storage mà chúng ta sẽ thao tác, ở đây là Google Drive, bạn cần nhập đúng số tương ứng trong danh sách được Rclone liệt kê ra. Rất dễ tìm và chúng sắp theo bảng chữ cái. Ví dụ ở phiên bản hiện tại của Rclone (1.72.0), số của Google Drive là 22
7. Bỏ qua thông tin Client ID và Client Secret (chỉ việc Enter để bỏ qua).
8. (scope), chọn số 1, Full access.
9. (service account file) Bỏ trống (nhấn Enter).
10. (edit advanced config) Chọn n rồi Enter (hoặc không nhập gì rồi Enter cũng được vì n là mặc định).
11. Use web browser to automatically authenticate rclone with remote (sử dụng trình duyệt web để tự động xác thực Rclone với remote), bạn chọn y để nó bật trình duyệt và xác thực.
Trình duyệt sẽ bật lên, chọn email bạn muốn liên kết (nếu bạn đã đăng nhập nhiều tài khoản trước đó trong trình duyệt). Một cửa sổ xác thực yêu cầu chấp nhận:
Bạn thấy thông báo ‘Success’ (cả ở trình duyệt hoặc cmd Rclone) nghĩa là đã cấp quyền thành công.
13. Configure this as a team drive: nhập n nếu bạn là người dùng cá nhân (thường là vậy).
14. Keep this ‘kcdrive’ remote?: nhập y.
15. Nhập q để thoát.
Vậy là đã kết nối & cấp quyền xong Rclone với Google Drive.
B. Tải dữ liệu từ máy tính cá nhân lên Google Drive qua Rclone
Bạn sử dụng câu lệnh sau trong cmd:
rclone copy "D:\local-kiencang" kcdrive:KC_R2 --progress --transfers 8 --tpslimit 10
Trong đó:
D:\local-kiencang: là vị trí trên máy tính cá nhân mà chúng ta lưu dữ liệu lấy từ R2 về.kcdrive: là tên remote chúng ta đặt ở bước trước.KC_R2: tên thư mục trên Google Drive sẽ được dùng để lưu ảnh, Rclone sẽ tự tạo, bạn không cần thao tác gì trên Google Drive. Tên gì tùy bạn, nhưng nên đặt cho dễ tìm, dễ liên tưởng đến mục đích, và không nên có dấu.--progress: hiển thị thông tin tiến trình chạy trên màn hình, tốc độ upload, thời gian dự kiến hoàn thành,…--transfers 8: giữ 8 kết nối đồng thời cùng lúc, điều này giúp tăng tốc độ tải lên.--tpslimit 10: giới hạn tốc độ kết nối tối đa 10 kết nối/s. Điều này để tránh vượt giới hạn tốc độ của các dịch vụ ở cấp người dùng miễn phí của Google Drive.
Trong quá trình chạy lệnh, tôi lên Google Drive kiểm tra, kết quả là đã tải lên thành công:
Lưu ý: do giới hạn tốc độ, việc tải lên Google Drive với số lượng 30 ngàn ảnh có thể tốn thời gian từ 2 – 3 tiếng, nhưng bạn sẽ chỉ tốn thời gian up lần đầu, các lần tiếp theo nó chỉ up các ảnh chưa có trên Drive nên sẽ nhanh hơn nhiều.
–
Tại sao không nén toàn bộ ảnh thành một file zip (hoặc rar) rồi up lên cho tiện & nhanh?
Trả lời: Đúng là khi nén lại thành một file rồi up lên sẽ nhanh hơn, nhưng điều này sẽ làm mất đi hoàn toàn lợi ích không tải lại ảnh đã tải ở các lần đẩy data lên lần sau. Điều này có nghĩa là mỗi lần backup bạn đều phải tải lên toàn bộ ảnh (được nén trong file zip, rar) => Về lâu dài biện pháp này mất thời gian và cũng tốn dữ liệu lưu trữ hơn rất nhiều.
C. Kết hợp để tạo thành file .bat hoàn chỉnh cho nhiệm vụ one-click
Bài trước, chúng ta đã tạo file .bat cho việc tải từ R2 về máy tính cá nhân, giờ chúng ta sẽ bổ sung thêm để nó tải dữ liệu ở máy tính cá nhân lên Google Drive. Với biện pháp này, bạn có 2 bản sao ảnh của web & nó cũng tạo thành chuỗi backup liền mạch (local,drive), không cần phải làm thủ công từng khâu.
@echo off
title Backup Anh Tu Cloudflare R2
echo Dang ket noi voi Cloudflare R2 de tai anh moi ve...
echo ---------------------------------------------------
:: Di chuyen den thu muc cai Rclone
cd /d C:\Rclone
:: Cau lenh tai du lieu ve may tinh ca nhan
rclone copy bku-kiencang:image-kiencang "D:\local-kiencang" --progress --transfers 16
echo.
echo ---------------------------------------------------
echo BUOC 2: DANG TAI TU MAY TINH LEN GOOGLE DRIVE...
echo ---------------------------------------------------
:: Lenh moi: Copy tu o cung len Google Drive
:: "kcdrive" la chi den lenh up len Google Drive
:: "KC_R2" la ten thu muc se tao tren Google Drive
rclone copy "D:\local-kiencang" kcdrive:KC_R2 --progress --transfers 8 --tpslimit 10
echo ---------------------------------------------------
echo DA HOAN THANH QUA TRINH BACKUP!
echo Ban co the tat cua so nay.
pause
Lưu ý quan trọng: Phải thay các thông tin bôi đậm trong đoạn mã trên bằng thông tin tương ứng của bạn.
Backup không bao giờ thừa với bất kỳ dịch vụ nào, dù có chất lượng tốt đến đâu, rủi ro đến từ khắp nơi, từ chính dịch vụ cho đến bản thân người dùng, hoặc các thứ liên quan không trực tiếp khác. Với Cloudflare R2 chúng ta đẩy tốc độ & nhất là mức độ chịu tải của trang web lên cao hơn đáng kể. Và với Rclone bạn có dữ liệu dự phòng cho R2 với thao tác one-click tiện lợi, cùng cơ chế backup thông minh, tối thiểu hóa thời gian, dữ liệu truyền tải.

