Bài giảng Linux: Chương 4 giới thiệu tới các bạn về Shell script, quản lý người dùng, log, quản lý tiến trình, dịch vụ cron. Bài giảng phục vụ cho các bạn chuyên ngành Công nghệ thông tin và những ngành có liên quan, mời các bạn tham khảo.
Shell script, quản lý người dùng, log, quản lý tiến trình, dịch vụ cron Âu Bửu Long – Lê Minh Triết Phiên 2013 Mảng shell script • Tập hợp giá trị liệu lưu trữ qua tên chung • Giống biến: khơng cần khai báo trước sử dụng • Được tự động tạo qua lần dùng • Giá trị rỗng • Có thể gán nhiều giá trị thơng qua câu lệnh • Có thể thực phép tốn xử lý chuỗi • Khai báo thơng qua lần gán đầu tiên: [xx]= Ví dụ - Mảng … Newarr=(giatri1 giatri2 giatri3) echo ${Newarr[1]} Newarr[2]=giatri2moi echo Newarr[2] Newarr[4]=15 Newarr[6]=5 Newarr[7]=`expr ${Newarr[4]} + ${Newarr[6]}` echo ${Newarr[@]:2:2} Bài tập thực hành – Mảng • Viết file script ~/.sh nhận tham số số nguyên dương n, thực khởi tạo mảng n+1 phần tử chứa số nguyên từ - n Lệnh find - Tìm kiếm • • Tìm file • Các tùy chọn: –name -print –type -mtime –exec –ok Cấu trúc: find [path] [expression] Lệnh find - Tìm kiếm… • Các tham số cho tham số type b c d f l Block special Character special Directory Regular file Symbolic link • Tham số mtime: -mtime số_ngày VD: -mtime -mtime +5 -mtime -5 Lệnh find - Tìm kiếm… • Tham số ok exec: thực công việc kết tìm kiếm • VD: find –name temp –type f –ok rm {} \; find / –name “*a*” –type d –exec ls -l {} \; Bài tập thực hành – Tìm kiếm • Viết đoạn script tìm file theo copy chúng sang thư mục cho trước Nếu trùng lại file copy file Nếu thư mục đích chưa tạo tự tạo Quản lý người dùng • Người dùng thuộc nhiều nhóm, có nhóm • Mỗi người dùng nhóm có ID • Các file lưu trữ thông tin người dùng: /etc/passwd /etc/shadow /etc/group /etc/gshadow Quản lý người dùng • Các lệnh quản lý user: • Các lệnh quản lý nhóm: • useradd • groupadd • usermod • groupmod • userdel • groupdel • Passwd • chpasswd Các lệnh mạng • ifconfig • nslookup • traceroute • ping • route Bài tập - Các lệnh mạng: • Viết script thực yêu cầu sau: • Thông báo tất trạng thái liên quan đến hoạt động mạng tại: tình trạng gateway, DNS, IP máy, • Cho trước file text chứa danh sách IP (trong mạng với máy tại) IP nằm dòng, Mỗi lần chạy script kiểm tra đường gateway có internet? Nếu khơng internet tự động đổi cấu hình theo đường gateway IP cho Hệ thống log linux • Ghi lại nhật ký kiện hệ thống: • Các kiện lúc boot • Các lỗi hệ thống • Chứng thực, xác thực • Các dịch vụ khác Hệ thống log linux • Các file log đặt thư mục /var/log/ • dmesg • boot • kern.log • message • udev • auth.log Bài tập thực hành - xử lý log • Viết đoạn script kiểm tra xem 10 ip đăng nhập không thành công nhiều lần vào hệ thống, sử dụng lệnh xử lý cut, tr, grep, sort vào file log Quản lý tiến trình • Các tiến trình hệ thống tổ chức theo dạng • Quá trình khởi động khởi tạo tiến trình: • init: Được khởi tạo kernel lúc vừa khởi động Cha tiến trình khác hệ thống • getty: Được khởi tạo init Quản lý terminal • login: Quản lý đặng nhập • shell: Sau đăng nhập hồn tất Quản lý tiến trình • Một số lệnh liên quan: • ps: xem trạng thái tiến trình • top: xem thơng tin độ ưu tiên xử tiến trình • • • pstree: xem tiến trình kill: tắt tiến trình thơng qua ID killall: tắt tiến trình thơng qua tên lý Dịch vụ cron • Dùng chạy định kỳ cơng việc • Hệ thống cron gồm thư mục ta đặt script cần chạy tương ứng: /etc/cron.hourly /etc/cron.daily /etc/cron.weekly /etc/cron.monthly • Các thư mục file cấu hình cron tự động giám sát định kỳ phút tự cập nhật q trình chạy Dịch vụ cron • Ta định trình chạy cụ thể qua file cấu hình: /etc/crontab • Cấu trúc dịng: m(minute) h(hour) d(day) dom(day of month) mon(month) dow(day of week) user command Có thể thay giá trị thời gian wildcard * • VD: 30 * * * root rm /home/someuser/tmp/* Bài tập • Kết hợp dịch vụ cron với file script để kiểm tra hoạt động mạng định kỳ ... Character special Directory Regular file Symbolic link • Tham số mtime: -mtime số_ngày VD: -mtime -mtime +5 -mtime -5 Lệnh find - Tìm kiếm… • Tham số ok exec: thực cơng việc kết tìm kiếm • VD: find... n+1 phần tử chứa số nguyên từ - n Lệnh find - Tìm kiếm • • Tìm file • Các tùy chọn: –name -print –type -mtime –exec –ok Cấu trúc: find [path] [expression] Lệnh find - Tìm kiếm… • Các tham số cho... ${Newarr[1]} Newarr[2]=giatri2moi echo Newarr[2] Newarr [4] =15 Newarr[6]=5 Newarr[7]=`expr ${Newarr [4] } + ${Newarr[6]}` echo ${Newarr[@]:2:2} Bài tập thực hành – Mảng • Viết file script ~/.sh