Đây là lần đầu tiên mình viết tut trên diễn đàn pythonvietnam, có gì sai sót mong được chỉ giáo.
Các kịch bản service được lưu trong thư mục /etc/init.d/. Nhiệm vụ bây giờ là link nó vào các thư mục
/etc/rcRUNLEVEL.d/[SK]NNname.
RUNLEVEL : 0-6
SK : S - start, K - kill
NN: dãy số từ 00-99. Dãy số này để làm gì? Nó báo cho system biết nên start hay kill service nào trước, service nào sau. Ví dụ 2 file /etc/rc2.d/S20apache2 và /etc/rc2.d/S10rsyslog. Hệ thống sẽ khởi động dịch vụ syslog trước mới đến dịch vụ apache.
Tới đây chắc khá ổn rồi. Viết code thôi:
Kiểm tra service đã được link tới thư mục /etc/rcLEVEL.d/
Ở đây để đơn giản, nếu file đó tồn tại tôi sẽ xóa nó đi bằng function os.remove(). Đoạn script enable service:
Mặc định start service level 2345 và stop level 016.
Disable service: Mặc định xóa tất cả các link tới /etc/init.d/service_name
Để thực hiện được script này cần thực thi với quyền root. Kiểm tra permission như sau:
if os.geteuid() != 0:
print 'Permission denied! Run as root.'
sys.exit(0)
Các kịch bản service được lưu trong thư mục /etc/init.d/. Nhiệm vụ bây giờ là link nó vào các thư mục
/etc/rcRUNLEVEL.d/[SK]NNname.
RUNLEVEL : 0-6
SK : S - start, K - kill
NN: dãy số từ 00-99. Dãy số này để làm gì? Nó báo cho system biết nên start hay kill service nào trước, service nào sau. Ví dụ 2 file /etc/rc2.d/S20apache2 và /etc/rc2.d/S10rsyslog. Hệ thống sẽ khởi động dịch vụ syslog trước mới đến dịch vụ apache.
Tới đây chắc khá ổn rồi. Viết code thôi:
Mã (python):
Mã (python):
Mã (python):
Mã (python):
Mã (python):
Mã (python):
if os.geteuid() != 0:
print 'Permission denied! Run as root.'
sys.exit(0)
Tags:
Python for SysAdmin