Cách cài đặt Rsnapshot Linux Backup trên Rocky Linux 9

theanh

Administrator
Nhân viên
Rsnapshot là một tiện ích sao lưu cho các máy chạy Linux. Tiện ích này có sẵn trên hầu hết các bản phân phối Linux, bạn có thể dễ dàng cài đặt thông qua trình quản lý gói. rsnapshot được viết bằng Perl mà không có phụ thuộc, nó cũng hỗ trợ sao lưu cục bộ và từ xa.

Với Rsnapshot, bạn có thể sao lưu thư mục cục bộ của mình. Đối với sao lưu từ xa, rsnapshot sử dụng 'ssh' và 'rsync'.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt và cấu hình Rsnapshot trên máy chủ Rocky Linux 9. Bạn cũng sẽ học cách thực hiện sao lưu tự động bằng Rsnapshot và Cron.

Điều kiện tiên quyết​

Trước khi bắt đầu, hãy đảm bảo bạn có những điều sau:
  • Máy chủ Rocky Linux 9
  • Người dùng không phải root có quyền quản trị viên

Cài đặt Rsnapshot​

Rsnapshot là tiện ích sao lưu cho hệ điều hành giống Unix. Trên bản phân phối dựa trên RedHat, bạn có thể cài đặt Rsnapshot thông qua kho lưu trữ EPEL (Gói bổ sung cho Enterprise Linux). Vì vậy, đối với bước này, bạn sẽ thêm kho lưu trữ EPEL vào hệ thống của mình, sau đó cài đặt Rsnapshot.

Trước tiên, hãy chạy lệnh bên dưới để thêm kho lưu trữ EPEL (Gói bổ sung cho Enterprise Linux) vào máy chủ Rocky Linux của bạn. Nhập 'Y' để xác nhận và thêm kho lưu trữ EPEL.
Mã:
sudo dnf install epel-release

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22377%22%3E%3C/svg%3E


Sau khi thêm EPEL, hãy chạy lệnh 'dnf' bên dưới để cài đặt gói 'rsnapshot'. Nhập 'Y' để xác nhận cài đặt.
Mã:
sudo dnf install rsnapshot nano firewalls

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22440%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy kiểm tra vị trí tệp nhị phân và phiên bản 'rsnapshot' bằng lệnh bên dưới.
Mã:
which rsnapshot
rsnapshot --version
Trong kết quả đầu ra bên dưới, bạn có thể thấy rằng 'rsnapshot' 1.4.5 được cài đặt trong '/usr/bin/rsnapshot'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22595%22%20height=%22179%22%3E%3C/svg%3E

Cấu hình SSH để sao lưu từ xa​

Để sao lưu từ xa bằng Rsnapshot qua SSH, bạn phải cấu hình xác thực dựa trên khóa cho máy chủ của mình. Đảm bảo rằng bạn có thể đăng nhập vào máy chủ mục tiêu từ máy chủ Rsnapshot của mình qua khóa SSH. Đối với bước này, bạn sẽ tạo khóa SSH trên máy chủ Rsnapshot rồi tải khóa công khai lên máy chủ sao lưu mục tiêu.

Trên máy chủ Rocky Linux của bạn, hãy chạy lệnh 'ssh-keygen' bên dưới để tạo khóa SSH mới.
Mã:
ssh-keygen -t ed25519
  • Nhấn ENTER để lưu khóa ở vị trí mặc định tại thư mục '~/.ssh'
  • Nhấn ENTER hai lần khi được nhắc nhập mật khẩu

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22657%22%20height=%22592%22%3E%3C/svg%3E


Bây giờ hãy chạy lệnh 'ssh-copy-id' bên dưới để tải khóa SSH của bạn lên máy mục tiêu. Trong ví dụ này, chúng tôi sẽ sao lưu một số dữ liệu từ máy chủ '192.168.10.50' sang máy chủ Rocky Linux của chúng tôi bằng 'rsnapshot'.
Mã:
ssh-copy-id [emailprotected]
Nhập mật khẩu khi được nhắc. Sau khi tải lên, bạn có thể đăng nhập vào máy chủ đích mà không cần mật khẩu và sẵn sàng thiết lập Rsnapshot.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22255%22%3E%3C/svg%3E

Thiết lập Rsnapshot để sao lưu cục bộ và từ xa​

Bây giờ bạn đã định cấu hình xác thực dựa trên khóa SSH, bạn có thể định cấu hình Rsnapshot. Trong ví dụ này, bạn sẽ thiết lập thư mục sao lưu, lưu giữ bản sao lưu, sao lưu các tệp cục bộ, sau đó tạo bản sao lưu từ xa thông qua SSH.

Sao lưu cấu hình mặc định '/etc/rsnapshot.conf' và sửa đổi bằng trình chỉnh sửa 'nano'.
Mã:
sudo cp /etc/rsnapshot.conf /etc/rsnapshot.conf.orig
sudo nano /etc/rsnapshot.conf
Thêm đường dẫn đích sao lưu của bạn vào tùy chọn 'snapshot_root'. Trong ví dụ này, tất cả các bản sao lưu sẽ được lưu trữ trong thư mục '/data/backup'.
Mã:
snapshot_root /data/backup/
Bỏ chú thích các tùy chọn 'cmd_rsync', 'cmd_ssh', 'cmd_du' và 'cmd_rsnapshot_diff'. Đảm bảo đường dẫn của mọi lệnh là chính xác.
Mã:
cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh
cmd_du /usr/bin/du
cmd_rsnapshot_diff /usr/bin/rsnapshot_diff
Thay đổi cấu hình 'giữ lại' mặc định thành cấu hình sau. Việc đặt tên là tùy chọn, bạn có thể thay đổi khi cần. Đối với ví dụ này, 'giữ lại hàng ngày 6' sẽ tạo các thư mục sao lưu mới 'daily.0' thành 'daily.5'.
Mã:
retain daily 6
retain weekly 7
retain monthly 4
Bỏ ghi chú tùy chọn 'logfile' để bật ghi nhật ký cho Rsnapshot.
Mã:
logfile /var/log/rsnapshot.log
Bỏ chú thích 'ssh_args' để truyền lệnh SSH bổ sung. Đặc biệt nếu bạn đang chạy SSH trong một cổng không chuẩn.
Mã:
ssh_args -p 22
Bây giờ hãy thay đổi cấu hình 'sao lưu' như thế này để sao lưu thư mục cục bộ '/home/arvdl'.
Mã:
backup /home/arvdl/ local
Để sao lưu từ xa qua SSH, hãy sử dụng cấu hình như sau. Trong ví dụ này, chúng tôi sẽ sao lưu các thư mục '/etc' và '/var/www' từ máy chủ '192.168.10.50' đến máy chủ Rsnapshot. Ngoài ra, hãy đảm bảo sử dụng đúng người dùng SSH với xác thực dựa trên khóa SSH.
Mã:
backup [emailprotected]:/etc/ rocky9
backup [emailprotected]:/var/www rocky9
Khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.

Cuối cùng, hãy chạy lệnh 'rsnapshot' bên dưới để xác minh cấu hình của bạn. Nếu bạn cấu hình đúng, bạn sẽ thấy đầu ra 'Cú pháp OK'.
Mã:
rsnapshot configtest

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22501%22%20height=%22130%22%3E%3C/svg%3E

Kiểm tra sao lưu bằng Rsnapshot​

Tại thời điểm này, bạn đã cấu hình Rsnapshot và tạo bản sao lưu cho máy chủ cục bộ và từ xa. Bây giờ bạn sẽ sao lưu bằng Rsnapshot theo cách thủ công thông qua dòng lệnh 'rsnapshot'. Bạn cũng sẽ kiểm tra kích thước bản sao lưu và kiểm tra tệp nhật ký Rsnapshot.

Để sao lưu theo cách thủ công, hãy chạy lệnh 'rsnapshot' theo sau là tên lưu giữ, ví dụ: 'hàng ngày'. Thao tác này sẽ tạo bản sao lưu mới vào thư mục 'snapshot_root'.
Mã:
rsnapshot daily
Kiểm tra thư mục 'snapshoot_root' để đảm bảo rằng bản sao lưu của bạn đã được tạo. Trong ví dụ này, thư mục 'snapshot_root' là '/data/backup'.
Mã:
ls /data/backup
Bây giờ hãy chạy lệnh 'rsnapshot' bên dưới để kiểm tra kích thước bản sao lưu của bạn. Trong ví dụ sau, bản sao lưu duy nhất của các tệp của chúng tôi là '3MB'.
Mã:
rsnapshot du

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22418%22%20height=%22205%22%3E%3C/svg%3E


Cuối cùng, bạn cũng có thể kiểm tra tệp nhật ký Rsnapshot '/var/log/rsnapshot' để nhận thông tin về các hoạt động của Rsnapshot.
Mã:
cat /var/log/rsnapshot

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22492%22%3E%3C/svg%3E

Sao lưu tự động với Rsnapshot và Cronjob​

Trong phần cuối cùng này, bạn sẽ tìm hiểu cách thiết lập sao lưu tự động với Rsnapshot và Cronjob. Theo cách này, lệnh 'rsnapshot' sẽ chạy định kỳ và tự động thông qua Cron.

Tạo tệp cấu hình cron mới '/etc/cron.d/snapshot' bằng trình chỉnh sửa 'nano' sau.
Mã:
sudo nano /etc/cron.d/rsnapshot
Chèn cấu hình bên dưới để thiết lập crontab cho Rsnapshot. Trong ví dụ sau, bạn sẽ chạy 'rsnapshot daily', 'rsnapshot weekly' và 'rsnapshot monthly'.
Mã:
# Backup on daily
0 0 * * * root rsnapshot daily

# Backup on weekly
0 0 * * 0 root rsnapshot weekly

# backup monthly
0 0 1 * * root rsnapshot monthly
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.

Kết luận​

Xin chúc mừng! Bạn đã hoàn tất quá trình cài đặt và cấu hình Rsnapshot trên máy chủ Rocky Linux 9. Bạn cũng đã học được lệnh 'rsnapshot' cơ bản, cách thiết lập nhiều bản lưu Rsnapshot, cách sao lưu từ xa bằng Rsnapshot qua SSH và cách thiết lập sao lưu tự động bằng Rsnapshot và Cronjob.
 
Back
Bên trên