Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình Bash

Tự động hóa các lệnh khi khởi động lại và khởi động Linux:Hướng dẫn từng bước

Tôi luôn bị cuốn hút bởi những điều diễn ra đằng sau hậu trường khi tôi khởi động hệ thống Linux và đăng nhập. Bằng cách nhấn nút nguồn trên kim loại trần hoặc khởi động máy ảo, bạn sẽ khởi động một loạt sự kiện dẫn đến một hệ thống hoạt động đầy đủ – đôi khi chỉ trong chưa đầy một phút. Điều này cũng đúng khi bạn đăng xuất và/hoặc tắt hệ thống.

Điều làm cho điều này trở nên thú vị và thú vị hơn là bạn có thể yêu cầu hệ điều hành thực thi một số hành động nhất định khi khởi động và khi bạn đăng nhập hoặc đăng xuất.

Trong bài viết bất khả tri về phân phối này, chúng tôi sẽ thảo luận về các phương pháp truyền thống để hoàn thành các mục tiêu này trong Linux.

Lưu ý :Chúng tôi sẽ giả sử việc sử dụng Bash làm shell chính cho các sự kiện đăng nhập và đăng xuất. Nếu bạn tình cờ sử dụng một phương pháp khác, một số phương pháp này có thể hoạt động hoặc không. Nếu nghi ngờ, hãy tham khảo tài liệu về shell của bạn.

Thực thi các tập lệnh Linux trong khi khởi động lại hoặc khởi động

Có hai phương pháp truyền thống để thực thi lệnh hoặc chạy tập lệnh trong khi khởi động:

Phương pháp số 1 – Sử dụng cron Job

Bên cạnh định dạng thông thường (phút/giờ/ngày trong tháng/tháng/ngày trong tuần) được sử dụng rộng rãi để biểu thị lịch trình, bộ lập lịch cron còn cho phép sử dụng @reboot . Lệnh này, theo sau là đường dẫn tuyệt đối tới tập lệnh, sẽ khiến tập lệnh chạy khi máy khởi động.

Tuy nhiên, có hai điều cần lưu ý đối với phương pháp này:

  1. a) cron daemon phải đang chạy (đó là trường hợp bình thường) và
  2. b) tập lệnh hoặc tệp crontab phải bao gồm các biến môi trường (nếu có) cần thiết (tham khảo luồng StackOverflow này để biết thêm chi tiết).

Phương pháp số 2 – Sử dụng /etc/rc.d/rc.local

Phương pháp này hợp lệ ngay cả đối với các bản phân phối dựa trên systemd. Để phương thức này hoạt động, bạn phải cấp quyền thực thi cho /etc/rc.d/rc.local như sau:

# chmod +x /etc/rc.d/rc.local

và thêm tập lệnh của bạn vào cuối tệp.

Hình ảnh sau đây minh họa cách chạy hai tập lệnh mẫu (/home/gacanepa/script1.sh/home/gacanepa/script2.sh ) bằng cách sử dụng cron công việc và rc.local , tương ứng và kết quả tương ứng của chúng.

script1.sh:

#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt

script2.sh:

#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
Tự động hóa các lệnh khi khởi động lại và khởi động Linux:Hướng dẫn từng bước Chạy tập lệnh Linux khi khởi động

Hãy nhớ rằng cả hai tập lệnh đều phải được cấp quyền thực thi trước đó:

$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh

Thực thi tập lệnh Linux khi đăng nhập và đăng xuất

Để thực thi tập lệnh khi đăng nhập hoặc đăng xuất, hãy sử dụng ~.bash_profile~.bash_logout , tương ứng. Rất có thể, bạn sẽ cần tạo tệp sau theo cách thủ công. Chỉ cần thả một dòng gọi tập lệnh của bạn ở cuối mỗi tệp theo cách tương tự như trước và bạn đã sẵn sàng.

Tóm tắt

Trong bài viết này, chúng tôi đã giải thích cách chạy tập lệnh khi khởi động lại, đăng nhập và đăng xuất. Nếu bạn có thể nghĩ ra các phương pháp khác mà chúng tôi có thể đưa vào đây, vui lòng sử dụng mẫu nhận xét bên dưới để chỉ ra chúng. Chúng tôi rất mong nhận được phản hồi từ bạn!

Đưa kỹ năng Linux của bạn lên một tầm cao mới

Các thành viên gốc có toàn quyền truy cập vào mọi khóa học, lộ trình luyện thi chứng chỉ và thư viện nội dung Linux thực hành ngày càng phát triển — với các khóa học mới được bổ sung hàng tháng.

Những gì bạn nhận được

Truy cập không có quảng cáo vào tất cả các bài viết cao cấp

Truy cập vào tất cả các khóa học:Tìm hiểu Linux, AI cho Linux, Bash Scripting, Cẩm nang Ubuntu, Golang và hơn thế nữa.

Truy cập vào các chứng chỉ Linux (RHCSA, RHCE, LFCS và LFCA)

Truy cập các khóa học mới được phát hành

Nhận quyền truy cập vào bản tin hàng tuần

Ưu tiên trợ giúp trong phần bình luận

Cộng đồng Telegram riêng tư

Kết nối với cộng đồng Linux

Tự động hóa các lệnh khi khởi động lại và khởi động Linux:Hướng dẫn từng bước

Gabriel Cánepa là quản trị viên hệ thống GNU/Linux và nhà phát triển web đến từ Villa Mercedes, San Luis, Argentina. Anh ấy làm việc cho một công ty sản phẩm tiêu dùng hàng đầu thế giới và rất vui khi sử dụng các công cụ FOSS để tăng năng suất trong mọi lĩnh vực công việc hàng ngày của mình.

Mỗi hướng dẫn tại TecMint được tạo bởi đội ngũ quản trị viên hệ thống Linux có kinh nghiệm để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi.