Điểm:0

Tập lệnh sao lưu máy chủ Ubuntu

lá cờ co

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

sudodus avatar
lá cờ jp
Với tùy chọn `rsync` `--delete`, tôi có thể nói rằng đó là tập lệnh đồng bộ hóa, không phải tập lệnh dự phòng. Có lẽ bạn cũng nên xem xét `--backup` (và có thể cả `--backup-dir=`) để lưu các *phiên bản* của tệp đã bị sửa đổi hoặc xóa.
lá cờ co
Nó giống như một giải pháp thay thế RAID, tôi không cần các phiên bản trước, cũng như các tệp đã xóa. Tôi chỉ cần một bản sao của phiên bản chức năng cuối cùng của hệ thống.
sudodus avatar
lá cờ jp
Tôi thấy, sau đó nó có vẻ tốt với tôi (nhưng tôi chưa thử nghiệm hoặc xem xét nó một cách rất chi tiết).Tôi sử dụng `rsync` vì vậy tôi đã quen chạy nó với 'rất nhiều' tùy chọn và tôi nghĩ các tùy chọn của bạn trông ổn. Bạn nên bắt đầu bằng cách chạy khô và xem xét cẩn thận đầu ra trước khi chạy quy trình sao chép thực sự :-)
James S. avatar
lá cờ de
Điều này thực sự có vẻ như là bạn đang cố chụp ảnh chụp nhanh định kỳ của hệ thống tệp, sao cho bạn có thể hoàn nguyên về ảnh chụp nhanh trong trường hợp xảy ra thảm họa. Có lý do nào khiến bạn không thể sử dụng khả năng chụp nhanh LVM không?
lá cờ co
@JamesS. không biết gì về LVM... Tôi sẽ xem qua. Cảm ơn
James S. avatar
lá cờ de
Có một công cụ tên là "snapper" có thể là thứ bạn đang tìm kiếm: http://snapper.io/overview.html
bac0n avatar
lá cờ cn
Tôi nghĩ loại trừ phải là `--exclude={'/dev/*','/proc/*'}` bạn không muốn bất kỳ sự mở rộng toàn cầu nào
lá cờ co
@JamesS. đã thấy công cụ đó, nhưng hiện tại tôi chỉ sử dụng rsync, khi có thêm thời gian, tôi sẽ kiểm tra snapper và nếu nó phù hợp với nhu cầu của tôi, thì ít nhất tôi nghĩ là tôi không cần ảnh chụp nhanh.. .Dù sao cảm ơn cho đầu vào.
lá cờ co
@bac0n cảm ơn bạn đã cung cấp thông tin.
James S. avatar
lá cờ de
Ý tôi là, những gì bạn đang mô tả ở đây không phải là "bản sao lưu" - đó là ảnh chụp nhanh.
lá cờ co
@JamesS. được rồi, đó là thuật ngữ chính xác :) Nhưng mục đích chính của nó là chỉ có bản sao lưu/ảnh chụp nhanh/bản sao của hệ thống khi tôi quyết định, mất cái trước đó... Cảm ơn

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.