Như đã lưu ý, có rất nhiều lựa chọn và cái nào là tốt nhất phụ thuộc vào yêu cầu của bạn.
Vì các hệ thống của bạn nằm trên RAID1, bạn chỉ cần thay thế một đĩa và để gương của bạn tự xây dựng lại. Đĩa bị loại bỏ có thể được sử dụng như một bản sao lưu.
Trước đây, để sao lưu toàn bộ hệ thống, tôi đã sử dụng Ghost4Linux (còn gọi là G4L) và Mondo / Mindi . Cái trước có thể lưu hình ảnh phân vùng cục bộ hoặc từ xa và cái sau có thể tạo đĩa CD hoặc DVD khôi phục khả năng khởi động (+ cứu). Cả hai đều có gui ncurses, không cần sử dụng dòng lệnh.
Nhưng nhiều lần, tôi chỉ sao chép toàn bộ hệ thống. Tôi chủ yếu sử dụng rsync nhưng đây là một số tùy chọn mà tôi nghĩ đó là những gì bạn đang tìm kiếm.
Giả sử bạn có hai phân vùng, /
và /var
và bạn muốn có một bản sao lưu hoàn tất. Tất cả các lệnh yêu cầu quyền root.
mkdir /mnt/orig
mount / /mnt/orig -o bind
mount /var /mnt/orig/var -o bind
Điều này sẽ tạo một điểm gắn kết mới cho rootfs mà bây giờ bạn có thể sao chép mà không phải lo lắng cho các hệ thống tệp được gắn kết khác như /proc
hoặc /sys
chia sẻ mạng.
Giả sử bạn có một đĩa thứ hai được định dạng với một hệ thống tệp thích hợp và được gắn bên dưới /mnt/backup
(hoặc một NFS trên cùng một điểm gắn kết). Chúng tôi khuyên rằng một số dịch vụ nên ngừng chạy, ví dụ như dịch vụ mysql hoặc máy chủ thư, để đảm bảo tính toàn vẹn của dữ liệu được sao chép.
Mỗi lệnh sau sẽ đủ.
cp -a /mnt/orig/* /mnt/backup/
rsync -a /mnt/orig/ /mnt/backup/
tar -C /mnt/orig -cf - ./ | tar -C /mnt/backup -xpf -
Cái cuối cùng là loại quá mức cần thiết. tar
và rsync
cung cấp một --exclude
tham số cho bỏ qua tập tin dựa trên mô hình kết hợp, ví dụ --exclude=\*.log --exclude=var/tmp
. Các lệnh trên không sử dụng nén và bạn sẽ có một bản sao chính xác của hệ thống của mình. Bạn cũng có thể cài đặt grub và làm cho đĩa sao lưu có thể khởi động.
Nếu bạn có không gian hạn chế trên thiết bị sao lưu hoặc hệ thống tệp không tương thích (NTFS) hoặc đó là chia sẻ được gắn CIFS, bạn có thể tạo tệp lưu trữ tar được nén.
tar -C /mnt/orig -zcf /mnt/backup/mybackup_$(date -I).tar.gz ./
hoặc tạo một hình ảnh squashfs mà sau này bạn có thể lặp lại mount và duyệt nội dung của nó như một hệ thống tập tin bình thường.
mksquashfs /mnt/orig/ /mnt/backup/mybackup.squashfs
mkdir /mnt/squash
mount /mnt/backup/mybackup.squashfs /mnt/squash -o loop
Ngoài ra, nhận được một bản sao lưu từ xa với ssh
và tar
hoặc rsync
. rsync
yêu cầu quyền truy cập root vào máy chủ từ xa để duy trì quyền sở hữu, quyền, tệp thiết bị, v.v. --numeric-ids
là cần thiết để không trộn lẫn quyền sở hữu với người dùng hệ thống từ xa.
tar -C /mnt/orig -zcf - ./ | ssh user@server 'cat -> mybackup_$(date -I).tgz'
rsync -aP -e ssh --numeric-ids /mnt/orig/ root@server:/path/to/backup/
Trong hầu hết các trường hợp, khôi phục hoàn toàn sẽ yêu cầu khởi động với một hệ thống khác, tốt nhất là Live CD, sau đó tạo / sắp xếp lại sơ đồ phân vùng của bạn, đối phó / trích xuất lại dữ liệu của bạn và cài đặt lại bộ tải khởi động.