Dữ liệu luôn là tài sản quý giá đối với cả cá nhân và doanh nghiệp. Khi mất dữ liệu, việc phục hồi có thể vô cùng khó khăn nếu không có các bản sao lưu dự phòng. Rclone là một công cụ mạnh mẽ dành cho việc sao lưu và quản lý dữ liệu, đặc biệt quen thuộc với các quản trị viên hệ thống. Tuy nhiên, đối với những người mới hoặc không chuyên về công nghệ, Rclone có thể vẫn còn khá mới mẻ. Trong bài viết này, TinoHost sẽ hướng dẫn bạn cách backup dữ liệu website từ Directadmin lên Google Drive bằng Rclone nhanh chóng.
Hướng dẫn cài đặt Rclone trên linux
Cài đặt Rclone trên máy chủ
Bước 1: Bạn cần đăng nhập SSH vào máy chủ Server/VPS để cài đặt. Bạn có thể tham khảo bài viết:
Hướng dẫn truy cập vào Server/VPS với giao thức SSH để biết thêm chi tiết.
Bước 2: Truy cập vào trang web chính thức của Rclone để tải về gói cài đặt tương ứng với hệ điều hành Linux mà bạn đang sử dụng. Tất cả các phiên bản của Rclone đều có sẵn tại https://rclone.org/downloads/.
Ví dụ: TinoHost sẽ cài đặt phiên bản Rclone v1.67.0.
Nhập lệnh sau:
wget https://downloads.rclone.org/v1.67.0/rclone-v1.67.0-linux-amd64.zip
Kết quả sau khi cài đặt thành công:
Bước 3: Tiếp theo chạy lệnh sau để giải nén thư mục vừa tải:
unzip rclone-v1.67.0-linux-amd64.zip
Kết quả giải nén thành công.
Bước 4: Sao chép tệp thực thi Rclone vào thư mục /usr/bin của hệ thống bằng lệnh sau:
sudo cp rclone-v1.67.0-linux-amd64/rclone /usr/bin/
Lưu ý: Trong ví dụ trên TinoHost đang cài đặt phiên bản v1.67.0 của Rclone, bạn hãy thay thế thành version phù hợp với mình nhé!
Cấu hình Rclone
Thiết lập đường hầm SSH (SSH Tunnel)
Mục đích của việc này để bảo mật kết nối giữa máy tính của bạn và máy chủ (VPS). Các bước thực hiện như sau:
Bước 1: Nếu bạn đang ở trong phiên SSH hiện tại, hãy tiến hành đăng xuất trước. Sau đó, đăng nhập lại vào VPS bằng SSH với lệnh dưới đây (trên Windows, bạn có thể sử dụng CMD để thực hiện kết nối SSH) để thiết lập một đường hầm mới:
ssh root@[your_vps_ip] -L 53682:127.0.0.1:53682
Nếu bạn sử dụng tài khoản con hoặc tài khoản tự tạo, hãy thay root bằng user của bạn. Ví dụ:
ssh chinh07@[your_vps_ip] -L 53682:127.0.0.1:53682
Trong đó, chinh07 là tài khoản con.
Nếu bạn thay đổi port SSH, hãy nhập lệnh có dạng sau:
ssh root@[your_vps_ip] -p xx -L 53682:127.0.0.1:53682
Trong đó:
- xx là port SSH của bạn.
- [your_vps_ip] là IP VPS của bạn.
Ví dụ: TinoHost đang dùng máy tính MSI hệ điều hành Windows nên sẽ sử dụng CMD trên Windows.
Sau đó, hệ thống sẽ hỏi Are you sure you want to continue connecting (yes/no/[fingerprint])? -> chọn Yes.
Bước 2: Lúc này, hệ thống sẽ thoát ra. Bạn chỉ cần SSH lại, nhập password và ấn Enter.
Giao diện đăng nhập thành công.
Cấu hình Rclone
Bước 1: Sau khi cài đặt Rclone và thiết lập SSH Tunnel, bạn chạy lệnh rclone config để hiển thị thiết lập cài đặt.
Bước 2: Nhấn ‘n’, hệ thống yêu cầu nhập tên remote. Bạn hãy nhập tên remote và chọn Enter.
Rclone hỗ trợ rất nhiều Drive lưu trữ. Bạn hãy chọn Drive tương ứng.
Ví dụ: TinoHost muốn kết nối Directadmin với Google Drive nên sẽ chọn số 13 tương ứng với Google Drive.
Chọn các thiết lập như sau:
- Storage: 13
- Client_id: Enter
- client_secret: Enter
- scope: 1
- roof_folder_id: Enter
- service_account_file: Enter
- Edit Advanced config: n (No)
- Use auto config: y (Yes)
Bước 3: Sau khi hệ thống hiển thị đoạn link có dạng http://127.0.0.1:53682/…, bạn truy cập đường link trên để kết nối Rclone với Google Drive.
Chọn tài khoàn Google để kết nối.
Bước 4: Chọn Cho phép
Giao diện khi kết nối thành công
Bước 5: Quay lại CMD, bạn tiếp tục chọn theo các thiết lập sau:
- Configure this as a team drive? Chọn n (Mặc định)
- Yes this is OK (default): y
Sau đó, kiểm tra Upload file backup lên Google Drive
Cách backup dữ liệu website từ Directadmin lên Google Drive
Tạo backup trên Directadmin
Bước 1: Trước tiên bạn đăng nhập vào Directadmin bằng tài khoản admin. Trong menu Admin Tools, chọn chức năng Admin Backup/Transfer.
Bước 2: Chọn chức năng SCHEDULE
Bước 3: Bạn có thể chọn Backups cho toàn bộ users (All Users) hoặc chỉ các user được chọn (Selected Users) rồi nhấn NEXT STEP.
Bước 4: Thiết lập thời gian tạo backup.
Bạn có thể chọn backup ngay lập tức (Now) hoặc đặt lịch (Cron Schedule). Nếu chọn đặt lịch, bạn cần thiết lập các thông số trong Cron Setting. Trong ví dụ này, TinoHost sẽ thực hiện backup vào lúc 21h30 hàng ngày:
- Minute: 30 (phút)
- Hour: 21 (giờ)
- Day of Month: * (tất cả các ngày trong tháng)
- Month: * (tất cả các tháng)
- Day of Week: * (tất cả các ngày trong tuần)
Sau khi đã thiết lập xong, bạn chọn NEXT STEP.
Bước 5: Thiết lập nơi sẽ lưu trữ file backup.
Bạn hãy chọn Local để lưu trữ trực tiếp trên VPS và nơi lưu trữ file trong Local Path. Sau đó, chọn NEXT STEP.
Bước 6: Chọn các dữ liệu cần tạo backup.
Bạn có thể chọn backup toàn bộ dữ liệu (All Data) hoặc có thể chọn các dữ liệu cần lưu trữ thiết theo nhu cầu của mình (Selected Data).
Cuối cùng, sau khi chọn dữ liệu để backup, bạn nhấn SCHEDULE để hoàn tất.
Đây là kết quả sau khi hoàn tất:
Đặt cron backup tự động
Bước 1: Vào cửa sổ để đặt cron. Bạn sử dụng lệnh sau để vào cửa sổ và thêm cron:
crontab -e
Bước 2: Dùng lệnh sau để đặt cron backup tự động. Ví dụ:
45 21 * * * /usr/sbin/rclone move /home/admin/admin_backups/* remoteGoogleDrive:Backup-Directadmin >/dev/null 2>&1
Trong đó:
- 45 21 * * *: Đây là phần cấu hình thời gian của cronjob.
- 45: Phút thứ 40
- 21: Giờ thứ 21 (21h tối)
- *: Ngày trong tháng (mọi ngày)
- *: Tháng (mọi tháng)
- *: Ngày trong tuần (mọi ngày trong tuần)
=> Điều này có nghĩa là lệnh sẽ được chạy vào 21h45 mỗi ngày.
- /usr/sbin/rclone move: move là một lệnh trong rclone để di chuyển tập tin hoặc thư mục từ nguồn đến đích. Nhờ đó sẽ không còn file backup lưu trữ trên hệ thống.
- /home/admin/admin_backups/* : Đây là đường dẫn đến thư mục nguồn chứa các tệp mà bạn muốn di chuyển. Dấu * đại diện cho tất cả các tệp trong thư mục admin_backups.
- remoteGoogleDrive:Backup-Directadmin: Đây là tên của remote rclone mà tôi đã tạo. Backup-Directadmin là tên thư mục đích trên Google Drive nơi các tệp sẽ được di chuyển tới.
- >/dev/null 2>&1: Đây là phần xử lý đầu ra của lệnh.
- >/dev/null: Chuyển hướng đầu ra chuẩn (stdout) của lệnh sang /dev/null, nghĩa là loại bỏ mọi thông báo đầu ra thông thường.
- 2>&1: Chuyển hướng đầu ra lỗi chuẩn (stderr) sang cùng nơi với đầu ra chuẩn (ở đây là /dev/null). Điều này có nghĩa là mọi thông báo lỗi cũng sẽ bị loại bỏ.
Lưu ý: nếu gặp lỗi Command move needs 2 arguments maximum: you provided x non flag arguments, bạn không dùng dấu * để chuyển cả thư mục:
45 21 * * * /usr/sbin/rclone move /home/admin/admin_backups/ remoteGoogleDrive:Backup-Directadmin >/dev/null 2>&1
Kiểm tra backup
Bước 1: Chạy lệnh để tạo backup ngay bây giờ để kiểm tra:
/usr/sbin/rclone move /home/admin/admin_backups/ remoteGoogleDrive:Backup-Directadmin >/dev/null 2>&1
TinoHost đã thực hiện test upload và thành công. Như hình bên dưới, file đã được backup và upload lên Google an toàn.
Kết luận
Bằng cách lưu trữ dữ liệu trên Google Drive, bạn có thể yên tâm rằng dữ liệu của mình được bảo vệ và có thể truy cập từ bất kỳ đâu với tài khoản Google của mình. Hy vọng bài viết này đã cung cấp thông tin hữu ích và giúp bạn tự tin hơn trong việc sao lưu dữ liệu.
Nếu còn thắc mắc nào khác liên quan đến cách thực hiện, bạn có thể liên hệ ngay cho TinoHost qua số hotline 1800 6734 để được hướng dẫn chi tiết. Chúc bạn thành công!