Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
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ả.