Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Sao lưu thư mục trong Linux dùng Shell Script

Có vài lựa chọn sao lưu dữ liệu trong Linux. Bạn có thể dùng phần mềm miễn phí như fwbackups và Sbackup. Tuy nhiên, có phương pháp đơn giản sao lưu thư mục mà không cài thêm phần mềm.

Chúng ta sẽ tạo shell script dùng biến, lệnh tar và lệnh date để tạo file sao lưu có ngày của thư mục, kèm thư mục con.

    Shell script về cơ bản là file chứa danh sách lệnh chạy tuần tự. Nếu bạn có chuỗi lệnh thường chạy theo thứ tự, hữu ích tạo shell script chứa các lệnh đó. Sau đó, chỉ chạy file script để chạy các lệnh.

    Tạo file Shell Script

    Ví dụ này, ta tạo shell script sao lưu thư mục chứa file hướng dẫn người dùng. Dùng môi trường Gnome trong Ubuntu.

    Trước, truy cập thư mục nhà, chọn Thư mục nhà từ menu Địa điểm. Trình duyệt File mở thư mục nhà.

    Sao lưu thư mục trong Linux dùng Shell Script

    Ta tạo file rỗng mới để nhập lệnh sao lưu. Chuột phải khung phải chọn Tạo tài liệu | File rỗng từ menu bật lên.

    Sao lưu thư mục trong Linux dùng Shell Script

    File thêm vào danh sách và sẵn sàng đổi tên. Gõ tên file, cho phần mở rộng .sh.

    Sao lưu thư mục trong Linux dùng Shell Script

    Ví dụ này, ta đặt tên file user_guide_backups.sh.

    Sao lưu thư mục trong Linux dùng Shell Script

    Giờ cần thêm lệnh vào file. Chuột phải tên file chọn Mở với gedit từ menu bật lên.

    Sao lưu thư mục trong Linux dùng Shell Script

    File mở trong gedit. Nhập các dòng sau vào file và nhấp Lưu. Mục đích mỗi dòng liệt kê dưới.

    LƯU Ý: Bạn cũng có thể copy văn bản sau dán vào gedit. Đảm bảo đổ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

    Sao lưu thư mục trong Linux dùng Shell Script

    Mô tả từng dòng

    Bảng sau mô tả mỗi dòng trong file shell script.

    Dòng # Mô tả
    1 Dòng này phải là dòng đầu trong bash shell script, loại script mặc định.
    2 Dòng này thiết lập biến SRCDIR giá trị là thư mục cần sao lưu.
    LƯU Ý: Đảm bảo thay <username> bằng username của bạn.
    3 Dòng này thiết lập biến DESTDIR giá trị là thư mục file sao lưu sẽ ghi vào.
    LƯU Ý: Đảm bảo thay <username> bằng username của bạn.
    4 Dòng này thiết lập biến FILENAME giá trị dùng văn bản và biến chứa lệnh date thêm ngày/giờ hiện tại vào tên file. Ví dụ, tên file có thể ug-20100212-13:03:45.tgz.
    LƯU Ý: Khi dùng biến, luôn bắt đầu bằng dấu dollar ($). Nếu dùng lệnh như một phần biến, bao lệnh và tùy chọn trong ngoặc đơn.
    5 Dòng này là lệnh tar với hàm và tùy chọn sau.

    –create Hàm này tạo kho lưu trữ mới (hoặc cắt ngắn cái cũ nếu tên file đã tồn tại) và ghi file/thư mục đã đặt tên vào đó.
    –gzip Tùy chọn này bảo tar nén file trong kho lưu trữ dùng tiện ích gzip.
    –file Tùy chọn này cho tar tên file dùng. Trong trường hợp này, ta lắp ráp tên file dùng biến DESTDIR, FILENAME, và SRCDIR.

    Chỉnh quyền trên file Shell Script

    Trước khi chạy script, cần chắc file có quyền đúng. Làm vậy, mở Thư mục nhà như trên và chuột phải file script. Chọn Thuộc tính từ menu bật lên.

    Sao lưu thư mục trong Linux dùng Shell Script

    Hộp thoại Thuộc tính hiện. Đảm bảo hộp kiểm Thực thi được chọn.

    Sao lưu thư mục trong Linux dùng Shell Script

    Nhấp Đóng.

    Chạy Shell Script

    Để chạy shell script, mở cửa sổ terminal chọn Phụ kiện | Terminal từ menu Ứng dụng.

    Sao lưu thư mục trong Linux dùng Shell Script

    Khi cửa sổ Terminal mở, bạn mặc định ở Thư mục nhà. Gõ pwd dòng lệnh nhấn enter xác nhận. Tại dấu nhắc, gõ ./user_guide_backups.sh nhấn Enter.

    Sao lưu thư mục trong Linux dùng Shell Script

    Bạn nên có file .tgz trong thư mục Backups trong Thư mục nhà. Nếu chuột phải tên file, thấy vài tùy chọn mở kho lưu trữ trong chương trình nén có sẵn, hoặc giải nén file trực tiếp đến thư mục Backups dùng lệnh Giải nén tại đây .

    Sao lưu thư mục trong Linux dùng Shell Script

    Thông tin thêm

    Liên kết dưới cung cấp thêm thông tin về shell script, lệnh tar và date, và lệnh Linux khác.

    Scripting

    Hướng dẫn nhanh viết script dùng bash shell

    Bash Shell Scripting — 10 Seconds Guide | All about Linux

    Bash Reference Manual

    Lệnh Linux

    tar MAN Page

    date MAN Page

    bash commands — Linux MAN Pages

    Khám phá các trang này giúp bạn xây dựng bash shell script hữu ích riêng.