Đề XuấT, 2024

Editor Choice

Sao lưu thư mục trong Linux bằng Shell Script

Có một số tùy chọn để sao lưu dữ liệu của bạn trong Linux. Bạn có thể sử dụng một số chương trình phần mềm có sẵn miễn phí, chẳng hạn như fwbackups và Sbackup. Tuy nhiên, có một phương pháp đơn giản để sao lưu một thư mục mà không cần cài đặt bất kỳ phần mềm bổ sung nào.

Chúng tôi sẽ tạo một tập lệnh shell bằng cách sử dụng các biến, lệnh tar và lệnh date để tạo một tệp sao lưu ngày của một thư mục, với các thư mục con của nó.

Một kịch bản shell về cơ bản là một tệp chứa danh sách các lệnh được chạy theo trình tự. Nếu bạn có một loạt các lệnh bạn thường xuyên chạy theo thứ tự, sẽ rất hữu ích khi tạo một tập lệnh shell chứa các lệnh này. Sau đó, bạn chỉ phải chạy tệp script để chạy các lệnh.

Tạo tập tin Shell Script

Trong ví dụ này, chúng tôi sẽ tạo một tập lệnh shell để sao lưu một thư mục chứa các tệp cho hướng dẫn sử dụng. Chúng tôi đang sử dụng môi trường Gnome trong Ubuntu .

Đầu tiên, truy cập thư mục chính của bạn, bằng cách chọn Thư mục chính từ menu Địa điểm . Trình duyệt tệp sẽ mở ra thư mục chính của bạn.

Chúng tôi sẽ tạo một tệp trống mới, trong đó chúng tôi sẽ nhập các lệnh để thực hiện sao lưu. Nhấp chuột phải vào khung bên phải và chọn Tạo tài liệu | Tập tin trống từ menu bật lên.

Một tập tin được thêm vào danh sách và sẵn sàng đổi tên. Nhập tên cho tệp, cung cấp cho tệp phần mở rộng của .sh .

Trong ví dụ này, chúng tôi đặt tên tệp của chúng tôi là user_guide_backups.sh .

Bây giờ chúng ta cần thêm các lệnh vào tập tin. Nhấp chuột phải vào tên của tệp và chọn Mở bằng gedit từ menu bật lên.

Các tập tin mở trong gedit . Nhập các dòng sau vào tệp và nhấp vào Lưu . Mục đích của mỗi dòng được liệt kê dưới đây.

LƯU Ý: Bạn cũng có thể sao chép văn bản sau và dán nó vào gedit . Hãy chắc chắn để thay đổi vào tên người dùng của bạn.

 # !! +% - T) .tgz tar - tạo --gzip --file = $ DESTDIR $ FILENAME $ SRCDIR 

Mô tả từng dòng

Bảng sau đây mô tả từng dòng trong tệp script shell.

Hàng # Sự miêu tả
1 Dòng này phải là dòng đầu tiên trong tập lệnh bash shell, là loại tập lệnh mặc định.
2 Dòng này thiết lập một biến có tên SRCDIR và đặt giá trị của nó vào thư mục cần sao lưu.
LƯU Ý: Hãy chắc chắn để thay thế với tên người dùng của bạn.
3 Dòng này thiết lập một biến có tên là DESTDIR và đặt giá trị của nó vào thư mục mà tệp sao lưu sẽ được ghi.
LƯU Ý: Hãy chắc chắn để thay thế với tên người dùng của bạn.
4 Dòng này thiết lập một biến có tên là FILENAME và đặt giá trị bằng cách sử dụng văn bản và các biến có chứa lệnh date để thêm ngày và giờ hiện tại vào tên tệp. Ví dụ: tên tệp có thể là ug-20100212-13: 03: 45.tgz .
LƯU Ý: Khi sử dụng biến, luôn khởi động nó bằng ký hiệu đô la ( $ ). Nếu bạn sử dụng một lệnh như là một phần của biến, hãy đặt lệnh và các tùy chọn cho lệnh trong ngoặc đơn.
5 Dòng này là lệnh tar với chức năng và các tùy chọn sau đây được thêm vào.

-tạo nên Hàm này tạo ra một kho lưu trữ mới (hoặc cắt bớt một cái cũ nếu tên tệp được chỉ định đã tồn tại) và ghi các tệp hoặc thư mục được đặt tên vào nó.
Cẩugzip Tùy chọn này cho tar để nén các tệp trong kho lưu trữ bằng tiện ích gzip .
-tập tin Tùy chọn này cung cấp cho tar tên tệp để sử dụng. Trong trường hợp này, chúng tôi đã tập hợp tên tệp bằng các biến DESTDIR, FILENAMESRCDIR .

Chỉnh sửa các quyền trên tệp Shell Script

Trước khi chạy tập lệnh của bạn, bạn cần đảm bảo tệp có quyền chính xác. Để thực hiện việc này, hãy mở lại Thư mục chính của bạn như đã đề cập ở trên và nhấp chuột phải vào tệp tập lệnh shell. Chọn Thuộc tính từ menu bật lên.

Hộp thoại Thuộc tính hiển thị. Hãy chắc chắn rằng hộp kiểm Thực thi được chọn.

Bấm Đóng .

Chạy Shell Script

Để chạy tập lệnh shell, mở cửa sổ terminal bằng cách chọn Phụ kiện | Thiết bị đầu cuối từ menu Ứng dụng .

Khi cửa sổ Terminal mở, bạn sẽ ở trong Thư mục chính của mình theo mặc định. Nhập pwd trên dòng lệnh và nhấn enter xác nhận thực tế này. Tại dấu nhắc, nhập ./user_guide_backups.sh và nhấn Enter .

Bạn nên có tệp .tgz trong thư mục Sao lưu trong Thư mục chính của bạn. Nếu bạn nhấp chuột phải vào tên tệp, bạn sẽ thấy một số tùy chọn để mở kho lưu trữ trong một trong các chương trình lưu trữ có sẵn hoặc trích xuất các tệp trực tiếp vào thư mục Sao lưu bằng lệnh Extract Here .

Thêm thông tin

Các liên kết dưới đây cung cấp thêm thông tin về các tập lệnh shell, các lệnh tardate và các lệnh Linux khác.

Viết kịch bản

Hướng dẫn nhanh để viết tập lệnh bằng cách sử dụng bash shell

Bash Shell Scripting - Hướng dẫn 10 giây | Tất cả về Linux

Tài liệu tham khảo Bash

Các lệnh Linux

Trang MAN

ngày MAN Trang

lệnh bash - Trang Linux MAN

Khám phá những trang này sẽ giúp bạn xây dựng các tập lệnh bash shell hữu ích của riêng bạn.

Top