Mục lục:

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

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

Video: Cách dễ dàng sao lưu hộp Linux của bạn bằng Rdiff-backup: 9 bước
Video: Linux Mint: Backup\Restore Important Files\Folders\Programs 2024, Tháng bảy
Anonim
Cách dễ dàng sao lưu hộp Linux của bạn bằng cách sử dụng Rdiff-backup
Cách dễ dàng sao lưu hộp Linux của bạn bằng cách sử dụng Rdiff-backup

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

Giả định
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
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

Xác định các thư mục bạn muốn sao lưu
Xác định các 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

Tự động hóa
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

Viết một hàm
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

Nói với Script nào để sao lưu
Nói với Script nào để 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ờ

Toàn bộ điều cùng nhau ngay bây giờ
Toàn bộ điều 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

Thêm vào Cron
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
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ả.

Đề xuất: