0

Làm thế nào chạy shell script khi khởi động lại server CentOS / Linux

Khi bạn cần sử dụng shell script thường xuyên, nhất là các script phải chạy để start các ứng dụng cần thiết khi vừa khởi động máy. Chắc chắn bạn sẽ cần phải chạy script này cũng khi khởi động chứ không cần phải login vào để thao tác bằng tay. Nếu bạn research một vòng trên Google, có lẽ bạn sẽ bắt gặp rất nhiều hướng dẫn phức tạp đều bắt nguồn từ việc cấu hình /etc/init.d/... Mình rất rất ghét điều gì hơi hơi phức tạp, và đặc biệt ghét phải sử dụng quyền root trên hệ thống. Trong khi cách này lại bắt buộc phải đăng nhập root để có thể thay đổi cấu hình trong /etc. Mình đã tìm ra một cách khác không cần quyền root vẫn có thể tự động chạy script khi khởi động máy.

Với thủ thuật nhỏ sau đây, mình chắc chắn rằng bạn sẽ không thể tìm được cách nào dễ hơn và đơn giản hơn để chạy shell script khi khởi động lại server CentOS / Linux. Đó chính là sử dụng crontab.

Bước 1: Tạo startup script

Lưu script tại vị trí đường dẫn file: /home/johndoe/script/start-web-server.sh

Chạy lệnh chmod để cho phép file được thực thi

Với ví dụ trên, mình tạo ra một shell script để start web server.

Bước 2: Cập nhật crontab

Để xem danh sách crontab: crontab -l

Để thêm cron job dùng lệnh: crontab -e và thêm dòng sau vào

sau đó nhấn phím Shift + x để lưu và thoát trình biên tập cron job

Lưu ý: để cronjob chạy đúng, cần set đường dẫn tuyệt đối vào. Đừng dùng các kí tự biểu diễn tương đối như ~, ../, ./

 

Bước 3: Thử nghiệm

Thử khởi động lại máy và kiểm tra xem website của bạn có tự chạy sau khi khởi động lại hay không?

Nếu website, redis, (các ứng dụng trong start-web-server.sh đã chạy) nghĩa là bạn đã cài đặt thành công.

Hệ thống đã tự động chạy shell script khi khởi động lại server CentOS.

 

 

Hoàng Tựa

Yêu thích lập trình web và tạo ra những thứ đẹp đẽ.

Leave a Reply

Your email address will not be published. Required fields are marked *