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ư fwbackupsSbackup . 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.

Mở thư mục chính

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.

Tạo một tệp kịch bản shell trống

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 .

Tệp mới đã sẵn sàng để được đổi tên

Đối với ví dụ này, chúng tôi đặt tên tệp là user_guide_backups.sh .

Đã đổi tên tệp kịch bản shell

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.

Mở tệp kịch bản shell bằng gedit

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

Chỉnh sửa tệp kịch bản shell trong gedit

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.

–create This function creates a new archive (or truncates an old one if the filename specified already exists) and writes the named files or directory to it.
–gzip This option tells tar to compress the files in the archive using the gzip utility.
–file This option gives tar the filename to use. In this case, we assembled the filename using the DESTDIR, FILENAME, and SRCDIR variables.

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.

Lấy các thuộc tính của tệp kịch bản shell

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.

Quyền đối với tệp tập lệnh Shell

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) .

Mở cửa sổ Terminal

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 .

Chạy tập lệnh shell

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 ) .

Tùy chọn menu bật lên cho tệp .tgz

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 tardate 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.



About the author

Tôi là nhà phát triển iPhone và macOS có kinh nghiệm trong cả Windows 11/10 và nền tảng iOS mới nhất của Apple. Với hơn 10 năm kinh nghiệm, tôi hiểu sâu sắc về cách tạo và quản lý tệp trên cả hai nền tảng. Kỹ năng của tôi không chỉ đơn thuần là tạo tệp - tôi còn có kiến ​​thức vững chắc về các sản phẩm của Apple, các tính năng của chúng và cách sử dụng chúng.



Related posts