Sao lưu một 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 thêm bất kỳ phần mềm 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 tệp sao lưu ngày tháng của một thư mục, với các thư mục con của nó.
Tập lệnh 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 lệnh mà 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 kịch bản Shell
Đối với ví dụ này, chúng ta 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 .
Trước tiên, hãy truy cập thư mục chính của bạn, bằng cách chọn Thư mục(Home Folder) chính từ menu Vị trí . (Places)Trình duyệt Tệp(File Browser) mở ra thư mục chính của bạn.
Chúng ta sẽ tạo một tệp trống mới, trong đó chúng ta sẽ nhập các lệnh để thực hiện sao lưu. Nhấp chuột(Right-click) phải vào khung bên phải và chọn Create Document | Empty File từ menu bật lên.
Một tệp được thêm vào danh sách và sẵn sàng được đổi tên. Nhập(Type) tên cho tệp, tạo cho tệp có phần mở rộng là .sh .
Đối với ví dụ này, chúng tôi đặt tên tệp là user_guide_backups.sh .
Bây giờ chúng ta cần thêm các lệnh vào tệp. Nhấp chuột phải vào tên của tệp và chọn Mở bằng gedit(Open with gedit) từ menu bật lên.
Tệp sẽ mở bằng gedit . Nhập các dòng sau vào tệp và nhấp vào Lưu(Save) . Mục đích của mỗi dòng được liệt kê dưới đây.
LƯU Ý:(NOTE:) Bạn cũng có thể sao chép văn bản sau và dán vào gedit . Đảm bảo thay đổi <username> thành tên người dùng của bạn.
#!/bin/bash SRCDIR="/home/<username>/Documents/my_work/" DESTDIR="/home/<username>/Backups/" FILENAME=ug-$(date +%-Y%-m%-d)-$(date +%-T).tgz tar – create – gzip – file=$DESTDIR$FILENAME $SRCDIR
Mô tả từng dòng
Bảng sau đây mô tả từng dòng có trong tệp script shell.
Line # | Description | ||||||
1 | This line must be the first line in a bash shell script, which is the default type of script. | ||||||
2 | This line sets up a variable called SRCDIR and sets the value of it to the directory to be backed up. NOTE: Be sure to replace <username> with your username. |
||||||
3 | This line sets up a variable called DESTDIR and sets the value of it to the directory into which the backup file will be written. NOTE: Be sure to replace <username> with your username. |
||||||
4 | This line sets up a variable called FILENAME and sets the value using text and variables containing the date command to add the current date and time to the filename. For example, the filename might be ug-20100212-13:03:45.tgz. NOTE: When using a variable, always start it with the dollar sign ($). If you use a command as part of a variable, enclose the command and the options for the command in parentheses. |
||||||
5 | This line is the tar command with the following function and options added.
|
Chỉnh sửa Quyền(Permissions) trên Tệp Tập lệnh Shell(Shell Script File)
Trước khi chạy tập lệnh của mình, bạn cần đảm bảo rằng 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 Trang chủ(Home Folder) của bạn như đã đề cập ở trên và nhấp chuột phải vào tệp script shell. Chọn Thuộc tính(Properties) từ menu bật lên.
Hộp thoại Thuộc tính(Properties) hiển thị. Đảm(Make) bảo rằng hộp kiểm Thực thi(Execute) được chọn.
Nhấp vào Đóng(Close) .
Chạy tập lệnh Shell
Để chạy tập lệnh shell, hãy mở cửa sổ đầu cuối bằng cách chọn Accessories | Terminal từ menu Ứng dụng(Applications) .
Khi cửa sổ Terminal mở ra, bạn sẽ ở trong Thư mục chính(Home Folder) theo mặc định. Nhập pwd trên dòng lệnh và nhấn enter xác nhận điều này. Tại lời nhắc, nhập ./user_guide_backups.sh và nhấn Enter .
Bạn sẽ có một tệp .tgz(.tgz) trong thư mục Sao lưu(Backups) trong Thư mục Trang chủ(Home Folder) 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ở tệp lưu trữ trong một trong các chương trình lưu trữ có sẵn hoặc giải nén tệp trực tiếp vào thư mục Sao lưu(Backups) bằng lệnh Trích xuất Tại đây(Extract Here ) .
Thêm thông tin
Các liên kết bên dưới cung cấp thêm thông tin về các tập lệnh shell, các lệnh tar và date cũng như các lệnh Linux khác .
Viết kịch bản
Hướng dẫn nhanh để viết script bằng bash shell(A quick guide to writing scripts using the bash shell)
Bash Shell Scripting – 10 Seconds Guide | All about Linux
Tài liệu tham khảo Bash(Bash Reference Manual)
Lệnh Linux
Trang tar MAN(tar MAN Page)
ngày MAN Trang(date MAN Page)
lệnh bash - Linux MAN Pages(bash commands – Linux MAN Pages)
Khám phá các 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 mình.
Related posts
Cách điều hướng và sử dụng cấu trúc thư mục Linux
Linux FIND Command với các ví dụ
5 lý do tuyệt vời để từ bỏ Windows cho Linux
HDG Giải thích: UNIX là gì?
9 bản phân phối Linux tốt nhất để lấy cắp dữ liệu
10 trình ghi màn hình tốt nhất cho Linux
10 phím tắt Ubuntu để tăng tốc quy trình làm việc của bạn
Cách cài đặt và thiết lập Kali Linux
Hiểu quyền của Linux và cách sử dụng chmod
Tạo máy chủ phát video trực tiếp của riêng bạn với Linux
Tại sao Lệnh “ít hơn” lại Tốt hơn Lệnh “nhiều hơn” trong UNIX và Linux
Cài đặt Adobe Digital Editions trong Ubuntu Linux
20 ứng dụng Linux tốt nhất từ trước đến nay
Cách biên dịch các gói phần mềm trên Linux
Thêm phím tắt vào Menu ngữ cảnh khi nhấp chuột phải trong Ubuntu
Cách thiết lập & cấu hình tệp TCP / IP trên Linux (Cài đặt TCP / IP cho Linux)
BSD và Linux: Sự khác biệt cơ bản
Cách cài đặt lại Linux Mint mà không làm mất dữ liệu và cài đặt của bạn
Cách xóa tệp hoặc thư mục trong Linux
Cách cài đặt hầu hết mọi máy in trên Ubuntu