在linux下,有時候要在咱們不在的時候執行一項命令,或啓動一個腳本,可使用任務計劃cron功能。linux
任務計劃要用crontab命令完成vim
選項: -u 指定某個用戶,不加-u表示當前用戶併發
-e 編寫任務計劃ssh
-l 查看已經設定任務計劃socket
-r 刪除任務計劃編輯器
編寫的格式爲: 分 時 日 月 周 具體命令工具
任務計劃的配置文件 /etc/crontabspa
這裏顯示了分的範圍是0-59, 時的範圍,0-23,日的範,1-31, 月的範圍1-12或者寫英語月份的簡寫,周的範圍0-6 (0表明星期天,也能夠寫7),若是不填某一項信息就用 」 * 」 代替。3d
使用命令crontab -e 就能夠進入vim編輯器編寫任務計劃,rest
好比在6月5日10點01 分執行任務計劃
寫任務計劃時要寫絕對路徑,
要使用命令 systemctl start crond 啓動服務
chkconfig工具是CentOS 6以及之前版本使用的服務管理工具,CentOS 7 上仍是可使用使用chkconfig這個命令。
chkconfig --list 命令會列出全部的服務以及每一個級別的開啓狀態,但它只顯示SysV服務,而CentOS 7使用的是systemd服務。Linux系統全部預設的服務都在/etc/init.d/目錄下的查看。
使用命令 chkconfig --list 能夠列出服務的狀態
列出的服務會有0-6級別,0,、1和6級別是系統保留,0做爲shutdown動做,1 重啓至單用戶模式,6爲重啓。二、三、四、5幾個級別通常做爲linux系統的實現中,2表示無NFS支持的多用戶模式,3 徹底多用戶模式, 4 保留給用戶自定義,5 圖形登陸。
使用下面命令把network的 3 級別設定爲關閉,--level 選項指定級別,後面跟服務名,在跟off或on 。
把network的三、四、5都關閉
不指定服務名,默認是針對二、三、四、 5來操做
指定某個服務加入到系統服務中chkconfig --add network
刪除某個服務chkconfig --del network
systemd服務是CentOS 7使用的服務,它支持多個服務併發啓動,而SysV只能一個個的啓動。
使用systemd工具列出系統的全部服務
這些服務對應的啓動腳本文件在 /usr/lib/systemd/system/ 目錄下面。
經常使用的命令有:
systemctl enable crond.service //讓服務開機啓動(service能夠省略) systemctl disable crond.service //不讓服務開機啓動 systemctl status crond.service //查看服務狀態 systemctl start crond.service //啓動服務 systemctl stop crond.service //中止服務 systemctl restart crond.service //重啓服務 systemctl is-enabled crond //查看服務是否開機啓動
在目錄/usr/lib/systemd/system/ 下的文件會有如下幾類,每一種都是一個unit :
service 系統服務 target 多個unit組成的組 device 硬件設備 mount文件系統掛載點 automount 自動掛載點 path 文件或路徑 scope 不是由systemd啓動的外部進程 slice 進程組 snapshot systemd快照 socket 進程間通訊的套接字 swap swap文件 timer 定時器
unit相關命令
systemctl list-units //列出正在運行的unit systemctl list-units --all //列出全部,包括失敗的或者inactive的unit systemctl list-units --all --state=inactive //列出inactive的unit systemctl list-units --all --type=service //列出全部狀態爲active的service systemctl list-units --type=service //列出狀態爲active的service systemctl is-active crond.service //查看某個服務是否active
target相似於CntOS 6裏的啓動級別,是多個unit的組合,它支持多個target同時啓動,
查看系統的全部target:
查看一個target包含的全部unit:
查看系統默認的target
設置默認的target
一個service屬於一種unit
多個unit一塊兒組成一個target
一個target裏面包含多個service,查看文件/usr/lib/sysemd/system/sshd.service 裏面的[install]部份內容,他定義了該service屬於哪一個target