Cần một số trợ giúp để điều chỉnh tập lệnh để thực hiện sao lưu hệ thống của tôi.
Vì vậy, thỉnh thoảng tôi có một máy chủ 20.04 được thiết lập và chạy, khi tôi thực hiện một số cập nhật/thay đổi, nó sẽ hỏng một số thứ và tôi mất một chút thời gian để khắc phục sự cố.
Lúc đầu, tôi nghĩ đến việc sử dụng RAID 1, nhưng sau đó tôi nhận ra rằng nếu tôi phá vỡ bản gốc thì nó sẽ gặp vấn đề tương tự.
Vì vậy, sau một hồi suy nghĩ, tôi đã tạo một bản sao dd của đĩa gốc (#1) sang một đĩa khác (#2) và để số 2 được kết nối nhưng không được gắn kết.
Lúc đầu, tôi nghĩ rằng để đĩa bị ngắt kết nối và với sự trợ giúp của phương tiện có thể khởi động, tôi thực hiện sao lưu dd mới... Nhưng điều đó có vẻ không chuyên nghiệp lắm. Vì vậy, tôi quyết định tạo một tập lệnh, gắn kết # 2 hd, gọi rsync và cuối cùng ngắt kết nối
Điều này sẽ làm việc? Đĩa đó là một khu vực hoàn chỉnh theo bản sao khu vực và sau thời điểm này, sẽ có những thay đổi của #1 được phản ánh trong #2 với rsync.
Tôi không có bất kỳ kinh nghiệm nào trong việc xây dựng tập lệnh trình bao, vì vậy tôi cần trợ giúp để điều chỉnh tập lệnh của mình.
Tôi cần gắn kết số 2, kiểm tra xem nó có thực sự được gắn kết hay không (kiểm tra xem thư mục gắn kết có trống không?), Chạy rsync và ghi nhật ký đầy đủ vào một tệp và cuối cùng ngắt kết nối.
Đây là những gì tôi có bây giờ:
#! /bin/bash
# -- VARS
MOUNT_DEV='/dev/sdb2'
MOUNT_FOLDER='/mnt/hdd_backup'
NGUỒN='/*'
DESTINATION='/mnt/hdd_backup/'
LOG_FILE='/home/jnap/external/rsync.log'
echo 'Gắn hdd sao lưu'
gắn kết $MOUNT_DEV $MOUNT_FOLDER
echo 'Gắn xong'
#Kiểm tra xem nó có thực sự được gắn kết không? dir không trống?
echo 'Chỉ chạy Rsync - DryRun để kiểm tra'
rsync -aAHXv --dry-run --delete $SOURCE $DESTINATION --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*, /media/*,/lost+found,/snap,/home/jnap/external/*,var/lib/lxcfs/*} > $LOG_FILE
tiếng vang 'Đã hoàn tất Rsync'
echo 'Tháo hdd sao lưu'
gắn kết -l $MOUNT_FOLDER
tiếng vang 'Đã hoàn tất ngắt kết nối'
Lúc đầu đây là một công việc thủ công.
Nhưng sau này tôi đang nghĩ đến việc tạo một công việc định kỳ cho nó, có thể chạy một lần một tuần vào cuối tuần.
Cảm ơn