How-To: Cấu hình và Lịch trình sao lưu tự động trong Linux
Bất kể hệ điều hành bạn đang sử dụng, mất dữ liệu là không thể tránh khỏi. Sớm hay muộn, nó sẽ xảy ra với bạn-câu hỏi duy nhất là liệu có bao nhiêu bạn sẽ mất. Mặc dù RAID có thể hoạt động như một chính sách bảo hiểm cho các lỗi phần cứng, nó không bao giờ được thiết kế để phục vụ như là một dự phòng và sẽ không thực hiện tốt nhiệm vụ này cả. Lỗi của con người luôn luôn là mối quan tâm lớn nhất kể từ khi các tập tin quan trọng có thể vô tình ghi đè hoặc xóa ở những khoảnh khắc bất cẩn. Đơn giản là mùa thu sau ngày nhận được bản sao lưu của bạn hoặc mãn; mà không cần sao lưu gần đây bạn không có chiến lược phục hồi. Hướng dẫn này sẽ giúp bạn tự động sao lưu của bạn trên giàn Linux của bạn, do đó bạn sẽ luôn có các file của bạn đến nay.
Bước 1: Nhận các cụ cần thiết
Trước khi bạn có thể sao lưu dữ liệu của bạn, bạn cần một vị trí lưu trữ chấp nhận được để sao chép nó vào. Quang phương tiện truyền thông như CD-R/RW hay DVD-R/RW một lần một đĩa đã được phổ biến (nhưng không nhất thiết phải là tốt nhất) vừa sao lưu để kể từ khi tổ chức rất nhiều dữ liệu cho thời gian và đã khá rẻ. Phương tiện truyền thông quang giá rẻ phù hợp cho ngắn hạn lưu trữ, nhưng không nên dựa theo cho lâu dài vì khả năng trầy xước, quá trình oxy hóa, hoặc mất thuốc nhuộm hữu cơ. (CD rot) quang phương tiện truyền thông hiện nay thậm chí ít hơn so với thực tế nó được sử dụng để được kể từ khi hầu hết các dữ liệu cá nhân vượt quá những gì rất nhiều định dạng đĩa nhất có thể giữ. Nó sẽ mất nhiều đĩa (hoặc một hay nhiều đĩa trong một vẫn-đắt như định dạng Blu-ray) để tiến hành một phiên duy nhất dự phòng. Nó được sử dụng để được phổ biến thực hành để bao gồm nhiều bản sao dự phòng của một tập tin trên một đĩa hoặc lây lan qua vài đĩa để nâng cao cơ hội phục hồi trong trường hợp thiệt hại, và điều này sẽ làm tăng tính đĩa hơn. Cuối cùng, nó chỉ là không có giá trị sử dụng đĩa quang để sao lưu nữa.
Ngày nay, chỉ có nghĩa thiết thực cho dự phòng là hoặc một ổ đĩa cứng gắn ngoài (hoặc một vài người trong số họ, nếu bạn muốn bảo vệ tối đa) hoặc một máy chủ bên ngoài. Tốt nhất là dựa trên sự kết hợp những phương pháp này thay vì chỉ một gia tăng dự phòng. Trong mọi trường hợp, ổ đĩa cứng (s) cần phải đủ lớn để chứa cả dữ liệu hiện tại của bạn hiện tại, thêm vào bất kỳ sự tăng trưởng có thể dự báo. Trong trường hợp máy chủ, bạn chắc chắn nên sử dụng một máy chủ từ xa nếu bạn có quyền truy cập vào một (nếu bạn mua máy chủ web và có nhiều không gian còn lại trên tài khoản của bạn, đó sẽ là lý tưởng cho việc sao lưu) Bất kể bạn sử dụng các cơ chế lưu trữ, các hoạt động tập tin thực tế chuyển nhượng được thực hiện một chương trình được gọi là rsync.
Bước 2: Thiết lập rsync
Rsync là một chương trình mà các bản sao dữ liệu từ một địa điểm khác. Mặc dù một chương trình khác, cp, tồn tại cho mục đích này, rsync là xa nâng cao hơn và hiệu quả; cp trong khi chỉ có thể sao chép các tập tin toàn bộ từ một địa điểm khác trên một hệ thống địa phương, rsync so sánh các nguồn tập tin này vào tập tin đích (nếu có) và bản sao chỉ mới hơn các phần của nguồn tập tin vào đích đến. Bằng cách này, rsync có thể đồng bộ hóa dữ liệu giữa hai địa điểm giống như công cụ Windows Briefcase nào. Điều này giúp tiết kiệm một số tiền khổng lồ về thời gian và băng thông về thủ tục sao lưu.
Thêm vào đó, rsync có thể đồng bộ về hệ thống tập tin cả hai địa phương và từ xa trong khi cp chỉ có thể làm việc với các hệ thống địa phương. (có một phiên bản từ xa của scp gọi là cp, nhưng ngay cả khi nó chỉ có thể làm việc với tập tin toàn bộ) rsync sẽ được làm chậm như cp lần đầu tiên bạn sử dụng nó kể từ những tập tin đích phải được sao chép đầy đủ vào vị trí dự phòng mới, nhưng buổi tiếp theo sẽ được nhanh hơn nhiều. Bạn nên biết rằng có thể mất bất cứ nơi nào từ vài giờ đến vài ngày để hoàn thành phiên họp đầu tiên rsync với một máy chủ từ xa, tùy thuộc vào tốc độ kết nối của bạn và số lượng dữ liệu lớn mà bạn cần để chuyển. Hơn nữa, rsync (thông qua SSH) mã hóa các buổi tập chuyển từ xa để giữ cho dữ liệu của bạn khỏi bị sniffed quá cảnh.

Rsync là hơi đơn giản. Cú pháp cơ bản là như sau: "rsync-a [nguồn dir] [đích dir]". (trong-một chuyển đổi cho rsync để làm việc trong "kho" chế độ, mà là lý tưởng cho các chức năng sao lưu) Mặc dù lệnh cơ bản được liệt kê ở trên sẽ làm việc một khi bạn xác định nguồn và các địa điểm đích, có nhiều lựa chọn khác có sẵn để chỉnh rsync. Đây có thể được phát hiện bằng cách đọc các trang hướng dẫn sử dụng rsync (chạy "rsync người đàn ông").
Mặc dù việc thực hiện dòng lệnh của rsync cho phép tự động hóa dễ dàng hơn, (thêm vào đó tiếp theo) bằng cách sử dụng rsync bằng cách này có thể được khó khăn cho người mới sử dụng những người không được sử dụng vào dòng lệnh. Trong trường hợp như vậy có một lối vào đồ họa được gọi là Grsync rằng bao la có thể đơn giản hóa quá trình sao lưu. Grsync định nghĩa lại các thiết bị chuyển mạch khác nhau như dễ hiểu hộp kiểm tra mà có thể được thiết lập để kết hợp mong muốn.

Grsync không có một mức độ tự động hóa bằng cách cho phép bạn để xác định và tự động chạy một phiên làm việc (grsync-e [session_name]), nhưng tiêu chuẩn rsync vẫn còn nhiều linh hoạt hơn kể từ khi bạn có thể chỉ định các lệnh trực tiếp thay vì phải dựa vào các buổi định sẵn.

Bước 3: định kỳ
Một khi bạn đã rsync cấu hình để sao lưu các tập tin của bạn, bạn chỉ được nửa chừng để có một kế hoạch khả thi dự phòng. Một giải pháp sao lưu phong nha phải chạy thường xuyên thay vì liên tục, và tất cả tự nó rsync sẽ không cập nhật các tập tin của bạn trừ khi bạn gọi nó bằng tay. Trong khi bạn có thể nhớ, để tự chạy rsync mỗi ngày, có một cách xa dễ dàng hơn để làm điều đó.
Linux và các hệ thống tương tự như có một tiện ích được gọi là định kỳ, mà chủ yếu là một công cụ lập lịch trình để chạy chương trình khác. Mỗi người có một tập tin crontab, mà là một danh sách các hướng dẫn để định kỳ để thực thi và mỗi lần chỉ dẫn nên chạy. Theo cách này, tất cả mọi người (không chỉ root) có thể sử dụng định kỳ. Định kỳ hoạt động với đồng hồ hệ thống; khi thời gian chính xác cho một cuộn sự kiện xung quanh kế hoạch, định kỳ sẽ tự động thực hiện lệnh.

Có một số cách để chỉnh sửa crontab của bạn. Cách đơn giản nhất cho người dùng mới để cấu hình định kỳ là sử dụng một lối vào như gcrontab hoặc kcron. Thêm người dùng cấp cao có thể chỉnh sửa crontab bằng tay trong một trình soạn thảo văn bản như Vim hay Kate. Để chỉnh sửa crontab bằng tay, mở một nhà ga và gõ "crontab-e". Sau đó, bạn nên kiểm tra danh sách các quá trình hệ thống của bạn cho một cron "" hoặc "crond" quá trình (gốc nên riêng của nó) để đảm bảo rằng Cron daemon là chạy. Sau khi chỉnh sửa crontab của bạn, bạn phải khởi động lại quá trình cron (chạy "sudo / etc / init.d / cron khởi động lại") trước khi các thay đổi của bạn sẽ làm việc.

Chỉnh sửa crontab tay trông khó khăn lúc đầu tiên là đơn giản nhưng một khi bạn nhận được hang của nó. Mỗi dòng trong danh sách crontab được coi như là một lệnh riêng biệt. Mỗi hàng có một số cột đó phải được xác định: phút, (viết tắt là "m") giờ, (viết tắt là "h") ngày của tháng, (viết tắt là "dom") tháng, (viết tắt là "mon") ngày trong tuần, (viết tắt "dow") và lệnh. Mỗi cột được phân cách bằng một không gian duy nhất không có nhãn hiệu khác, và nó không phải vấn đề nếu mỗi dòng hàng lên hoàn hảo với những người khác hay không. Bạn có thể thêm lần / ngày đến khi cả hai số thực (sử dụng một định kỳ lạ 24-giờ đồng hồ, do đó, trưa là 12:00 và nửa đêm là 00:00), viết tắt là ngày trong tuần (Thứ ba, Thứ tư, vv), và hoang dã ký tự. (*) Bất kỳ định nghĩa với một nhân vật hoang dã được giải nghĩa theo định kỳ như "tất cả", nghĩa là nếu giờ ngày một lệnh được thiết lập để "*", định kỳ sẽ thực hiện lệnh mỗi giờ. Để cấu hình một cái gì đó để chạy liên tục ở một khoảng thời gian nhất định, bạn có thể sử dụng một tách "" nhân vật hoang dã. (ví dụ như thiết lập * / 2 trong lĩnh vực giờ sẽ gây ra các lệnh để chạy một lần trong mỗi hai giờ vào những ngày bạn xác định.)
Định kỳ là khá linh hoạt; Phạm vi ảnh hưởng đến tất cả mọi thứ giữa hai giá trị được định nghĩa bởi dấu gạch ngang ngắn (-) trong khi nhiều lần nonconsecutive được phân cách bằng dấu phẩy. Ví dụ, nếu bạn muốn chạy lệnh hàng ngày từ đầu tiên của tháng đến ngày 10, bạn sẽ chỉ định "10-10" trong dom "" lĩnh vực. Tương tự, nếu bạn muốn có một lệnh để chạy mỗi thứ Hai, thứ Tư và thứ Sáu, bạn nên tuyên bố "Thứ Hai, Thứ Tư, Thứ Sáu" trong dow "" lĩnh vực.
Bước 4: Đặt họ cùng nhau
Bây giờ bạn biết về rsync và định kỳ, bạn có thể có lẽ đã được xem như thế nào họ có thể được sử dụng với nhau để tự động hoá các quy trình sao lưu. Kể từ khi phong nha dự phòng thủ tục đề nghị nên sao lưu vào nhiều nguồn, bạn sẽ phải tạo ra nhiều crontabs mỗi với một lệnh rsync khác nhau. May mắn thay, có một cách tốt hơn nhiều, có thể bị xử lý với một công việc định kỳ đơn lẻ.
Các lệnh hệ vỏ khác nhau trên Linux (như Bash) có sự hỗ trợ tuyệt vời cho các kịch bản. Shell script là tương đương với Linux các tập tin lô Windows và cung cấp một cách nhanh chóng chạy nhiều lệnh trong một pre-cụ thể để xác định và với cấu hình cài sẵn. Nếu bạn có nhiều kinh nghiệm ở tất cả các dòng lệnh trên, bạn không nên tìm kịch bản cơ bản rất khó khăn (có nhiều hướng dẫn trực tuyến để giúp bạn viết kịch bản cho bash và shell khác nếu bạn gặp rắc rối). Tạo một kịch bản để giữ rsync lệnh cần thiết là tầm thường; từ thời điểm này, bạn có thể gọi các shell script trong crontab của bạn và mỗi lệnh rsync sẽ chạy tại thời bổ nhiệm bạn thiết lập trong định kỳ chỉ như họ đang được gọi trực tiếp. Nó giúp để xác định đầy đủ pathname của vỏ "/ bin / bash $ scriptname" trong crontab thay vì các phím tắt "/ $ scriptname" để đảm bảo rằng công việc định kỳ thực hiện thành công.. Nếu bạn có dữ liệu nhạy cảm, bạn chắc chắn nên xem xét mã hóa nó trước khi bạn đặt nó trên một máy chủ chia sẻ (giống như một máy chủ web). Mã hóa có thể được thực hiện với GPG trong shell script trước khi truyền.
Vấn đề chỉ có thể dự báo với dự phòng tự động là cấu hình hệ thống có xu hướng thay đổi theo thời gian. Điểm núi và các địa chỉ IP có thể được bố trí mà không cần thông báo, và chữ viết của bạn sẽ không tự động cập nhật bản thân để bao gồm những thay đổi này. Miễn là các lệnh rsync của bạn là hết hạn, các file của bạn sẽ không được sao lưu đúng và bạn sẽ không có ý tưởng của vấn đề cho đến khi nó là quá muộn. Do đó, nó trả tự chạy lệnh dự phòng của bạn thường xuyên để kiểm tra và cập nhật các vấn đề kịch bản của bạn khi cần thiết.
Mặc dù rsync có thể đồng bộ giữa các địa điểm trên hệ thống của địa phương mà không có đầu vào người sử dụng, nó thường đòi hỏi một mật khẩu trước khi nó có thể đồng bộ hóa với một hệ thống từ xa (nó sử dụng một phần của chức năng SSH cho này). Kể từ khi tự động định kỳ đầu vào công việc ngăn chặn người sử dụng, không có cách nào để cung cấp mật khẩu khi cần thiết. Vì vậy, mặc định SSH hành vi sẽ không làm việc cho sao lưu tự động. Bạn có thể nhận được khoảng này bằng cách thiết lập công chúng xác thực / khóa riêng cho SSH; miễn là các phím phù hợp, không có mật khẩu là cần thiết. Forewarned được xác thực rằng các phím sẽ tự động được chia nếu địa chỉ IP của máy chủ từ xa thay đổi (đây là một tính năng cố ý để giúp ngăn chặn man-in-the-tấn công giữa) và rằng bảo mật là bị tổn hại nhẹ. Cuối cùng, nó đi xuống đến một trade-off giữa bảo mật và tiện lợi, nên chọn một cách khôn ngoan dựa trên tình hình và nhu cầu của bạn.
Tagged với: sao lưu • cron • cách tos • Linux • mã nguồn mở • rsync • Phần mềm
Nộp theo: Làm thế nào để
Giống như bài đăng này? Đăng ký RSS feed của tôi và nhận được tải nhiều hơn!









































