(2)列出已安排的任務。
[root@vm ~]crontab -l
(3)刪除任務計劃。
[root@vm ~]crontab -r
三、配置係統任務計劃
crontab用於實現用戶的任務計劃,而係統的任務計劃隻需要直接編輯/etc/crontab配置文件來實現。
(1)編輯係統任務計劃。
[root@vm ~]vi /etc/crontab
命令執行時所用的Shell:
SHELL=/bin/bash
命令的搜索路徑:
PATH=/sbin:/bin:/usr/sbin:/usr/bin
命令出錯信息傳遞給指定賬戶,默認是root:
MAILTO=hws
命令工作時的主目錄:
HOME=/
run-parts後接目錄,目錄中存放的是任務的可執行文件,目錄也可自行建立。
下麵4個目錄是係統定義的,分別代表每小時、每天、每周和每月要執行的任務。5個數字後的賬戶名用於指定命令執行時的賬戶級別和控製命令的權限。
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
沒有run-parts的行代表執行一個命令:
30 11 * * * root shutdown -h now
(2)重新啟動cron服務。
修改/etc/crontab後要立即生效,需重啟cron服務:
[root@vm ~]/etc/rc.d/init.d/crond restart
任務七 管理進程與係統服務
Linux是一個多任務的操作係統,在Linux主機係統中可以同時運行多個程序,它們中有的完成某項具體任務,有的則向網絡提供各種服務。對係統中程序的有效管理可以大大提高作業的效率和服務的性能。本任務要求讀者管理程序的運行狀態,配置係統服務特性,管理係統服務,使用TCP_Wrappers配置係統服務安全。
任務準備
一、認識程序與進程和係統服務
1.程序
程序是為某個應用目的而采用計算機程序設計語言編寫的代碼的集合,以文件的形式存儲在磁盤中。如果文件中直接存放的是由程序設計語言編寫的程序代碼,那麼就是源代碼程序文件。在Linux係統中有大量的程序以源代碼程序文件的方式提供,需要編譯後才能在Linux係統中運行。源代碼程序文件經編譯後生成二進製形式的可執行程序文件,通常所說的程序即指這種二進製程序文件。一個完整的程序除了程序文件本身外,還包括相關的數據文檔文件。
2.進程
程序在Linux主機係統中運行的前提是獲得相應的係統資源(如CPU、內存等)和必要的訪問權限。當在係統中以任何方式啟動一個程序時,係統將為程序分配CPU、內存等資源和係統訪問權限,然後開始一次程序的執行任務。人們把係統中運行的程序和相關資源的集合稱作進程。為了識別係統中的進程,Linux係統在建立進程時為每個進程分配一個進程號,簡稱為PID(Progress Identifier)。在係統中運行的程序也是係統的一個用戶,每個運行的程序都與係統中的某一賬戶關聯,該賬戶的權限決定了程序在係統中的權限。
一般程序的關聯賬戶就是啟動該程序的賬戶,同一個程序以不同的賬戶身份啟動所獲得的權限是不一樣的。進程的PID就是係統根據登錄賬戶的UID和GID分配的。
進程既可以由用戶手動啟動,也可是由某個進程啟動。在係統管理中把由進程啟動的進程稱為子進程,相應地把啟動子進程的進程稱為父進程。
3.服務
服務是指一些向內向外提供各種支持的常駐內存的程序。例如Web服務器程序Apache、DNS服務器named、郵件服務器sendmail等,這類程序一般沒有用戶界麵,它們往往隨著係統的啟動或用戶的登錄而啟動,運行後處於監聽狀態,等待客戶端請求,響應並提供相關的服務。
二、作業管理命令
1.查看後台作業運行狀態
[root@vm ~]jobs [-lrs]
-l:同時列出進程號。
-r:僅列出正在後台運行的作業。
-s:僅列出正在後台暫停的作業。
2.管理後台作業
[root@vm ~]kill -信號 %作業號|進程號
常用信號:
-1:重新加載程序。
-2:與直接按Ctrl+C相同,中斷程序。
-9:強製刪除程序。
-15:以正常方式結束程序。
3.查看係統程序的運行狀態
[root@vm ~]ps -aux
-a:列出與終端無關的進程。
-u:列出所有用戶提交的進程。
-x:列出進程的詳細信息。
4.監視係統性能
動態顯示係統工作狀態信息,每隔5秒刷新一次。按字母p、m、n、t可分別依據CPU耗用、內存占用率、PID和運行時間排序顯示結果。
[root@vm ~]top
5.顯示係統核心信息
[root@vm ~]uname [-asrmpi]
-a:顯示所有係統信息。
-s:顯示係統核心名稱。
-r:顯示係統核心版本。
-m:顯示主機係統硬件名稱。
-p:顯示CPU信息。
-i:顯示硬件平台信息。
6.查看開啟的係統服務
[root@vm ~]netstat [-antulp]
-a:顯示所有網絡聯機狀態。
-n:使用端口表示服務。
-t:僅顯示使用TCP的聯機狀態。
-u:僅顯示使用UDP的聯機狀態。
-l:僅顯示監聽的信息。
-p:顯示服務的PID。
7.管理服務的啟動
[root@vm ~]chkconfig --list [--add|--del] 服務程序名
[root@vm ~]chkconfig --level 0|2|3|4|5|6服務程序名 on|off
--list:顯示服務在係統各運行級下的啟動狀態。
--add:添加服務到開機啟動列表中。
--del:從開機啟動列表中刪除服務。
--level:設備服務在指定的係統級別下的啟動狀態,on為開機啟動,off為關閉。
8.手動管理服務的運行狀態
服務程序名必須實際存在於/etc/rc.d/init.d目錄中。
[root@vm ~]service 服務程序名 start|stop|restart
start:啟動服務。
stop:停止服務。
restart:重新啟動服務。
三、服務配置參數
1.配置服務參數
[root@vm ~]vi /etc/xinetd.d/服務名
service 服務名
{
參數 設定符 參數值列表
}
(1)設定符。
+:設定參數為指定值。
+=:在原有參數值中加入指定值。
-=:在原有參數值中刪除指定值。
(2)參數說明。
參數名 參數值說明disable 是否允許服務器執行:yes表示不執行,no表示執行
socket_type 網絡連接類型:stream表示TCP連接,dgram表示UDP連接,RAW表示服務直接使用IP連接
protocol 聯機協議:如TCP、UDP等
wait 等待服務:yes表示等前一個響應完成,no表示立即啟用
user 啟動服務的賬戶角色UID:UID必須在/etc/passwd中存在
group 啟動服務的賬戶角色所屬組:GID必須在/etc/group中存在
instances 同時聯機數目:UNLIMITED表示無限製
nice 服務優先級:-19~19,其值越小,服務越被優先執行
server 設定服務啟動程序
sever_args 指定服務需要的參數
log_type 指定日誌記錄:一般為SYSLOG authpriv
log_on_success 登錄成功記錄的日誌項
PID:服務的進程號
HOST:遠程主機IP地址
USERID:登錄用戶的UID
EXIT:退出時記錄
DURATION:使用服務的時間
log_on_failure 登錄失敗記錄的日誌項
HOST:遠程主機IP地址
USERID:登錄用戶的UID
ATTEMPT:登錄失敗者的企圖
RECORD:遠程主機信息以及服務不能啟動的原因
port 設定服務端口,必須與/etc/services記錄的相同
includedir 指定包含其他配置文件
env 設定環境變量,格式為:變量名=值
redirect 將客戶請求轉到另一台主機,後接目標主機IP地址