Cách dễ dàng sao lưu hộp Linux của bạn bằng Rdiff-backup: 9 bước
Cách dễ dàng sao lưu hộp Linux của bạn bằng Rdiff-backup: 9 bước
Anonim

Tài liệu hướng dẫn này sẽ chỉ cho bạn cách chạy một hệ thống sao lưu và phục hồi đầy đủ tính năng đơn giản trên linux bằng cách sử dụng rdiff-backup và ổ USB.

Bước 1: Giả định

Tôi sẽ giả sử một hệ thống sử dụng yum để cài đặt và đã gắn ổ USB của bạn dưới dạng /mnt//backup. Tôi sử dụng fedora, nhưng bạn có thể sử dụng bất cứ thứ gì và chỉ cần cài đặt rdiff-backup theo cách bạn muốn. Ngoài ra, nó có sẵn khi tải xuống tại đây:

Bước 2: Cài đặt Rdiff-backup

Cài đặt rdiff-backup [root @ HOST scripts] # yum install rdiff-backup

Bước 3: Xác định thư mục bạn muốn sao lưu

Bạn có thể sao lưu toàn bộ hệ thống, nhưng điều đó có thể quá mức cần thiết, tôi muốn sao lưu thư mục / etc / của mình cho bất kỳ thay đổi nào mà tôi có thể đã thực hiện đối với tên, sendmail, mạng, v.v., / data và dirs nhà của mình.

Bước 4: Tự động hóa

Rõ ràng là bạn không muốn làm điều này bằng tay. Chúng ta sẽ viết một script. Điều đầu tiên trong script, chúng ta sẽ kiểm tra xem ổ USB đã được gắn kết chưa và thoát ra nếu chưa. #! / bin / bash # Tập lệnh sao lưu vào ổ USBBACKUPBASE = "/ backup" #check để xem mục tiêu backup đã được mount chưa.if `df -h | grep $ BACKUPBASE> / dev / null `then echo" Đang bắt đầu $ 0 `date`" else echo "LỖI: $ BACKUPBASE không được gắn kết" echo "$ 0 thoát khỏi` date` "thoát 1fi

Bước 5: Viết một hàm

Tiếp theo, chúng ta sẽ viết một hàm để thực sự sao lưu. chức năng sao lưu {DEST = $ 1 $ 2 SOURCE = $ 2 echo "Src: $ SOURCE" if [-d $ DEST] then echo "Dest: $ DEST" else mkdir -p $ DEST echo "Dest: $ DEST -cined" OPTS = " --force "fi #Perform backup rdiff-backup -v2 --exclude-special-files $ OPTS $ SOURCE $ DEST #Cleanup phiên bản tệp cũ hơn 4 tuần rdiff-backup -v2 --remove-old-hơn 4W --force $ DEST # In báo cáo về những gì chúng tôi đã sao lưu và dọn dẹp rdiff-backup --list-change-since 0D23h00m $ DEST}

Bước 6: Thực hiện cho Script biết Dirs nào cần sao lưu

sao lưu $ BACKUPBASE / databackup $ BACKUPBASE / etcbackup $ BACKUPBASE / usr / localbackup $ BACKUPBASE / home

Bước 7: Toàn bộ vấn đề cùng nhau ngay bây giờ

#! / bin / bash # Tập lệnh sao lưu vào ổ USBBACKUPBASE = "/ backup" # Kiểm tra xem ổ sao lưu đã được gắn chưa. nếu `df -h | grep $ BACKUPBASE> / dev / null `then echo" Đang bắt đầu $ 0 `date`" else echo "LỖI: $ BACKUPBASE không được gắn kết" echo "$ 0 thoát khỏi` date` "thoát khỏi bản sao lưu 1 chức năng {DEST = $ 1 $ 2 SOURCE = $ 2 echo" Src: $ SOURCE "if [-d $ DEST] then echo" Dest: $ DEST "else mkdir -p $ DEST echo" Dest: $ DEST -create "OPTS =" - force "fi #Perform backup rdiff-backup -v2 --exclude-special-files $ OPTS $ SOURCE $ DEST #Cleanup phiên bản tệp cũ hơn 4 tuần rdiff-backup -v2 --remove-old-hơn 4W --force $ DEST # In báo cáo về những gì chúng tôi đã sao lưu và dọn dẹp rdiff-backup --list-change-since 0D23h00m $ DEST} backup $ BACKUPBASE / databackup $ BACKUPBASE / etcbackup $ BACKUPBASE / usr / localbackup $ BACKUPBASE / home

Bước 8: Thêm vào Cron

[root @ HOST scripts] # crontab -e10 1 * * * /usr/local/scripts/backup-rdiff.sh> /var/log/backup.log 2> & 1

Bước 9: Khôi phục

Để khôi phục phiên bản mới nhất, bạn chỉ cần sao chép tệp ra khỏi thư mục sao lưu. Nếu bạn muốn có phiên bản từ 2 ngày trước: rdiff-backup -r 2D /backup/etc/name.conf /etc/name.confSimple và rất hiệu quả.