10.23 linux任務計劃cronhtml
10.24 chkconfig工具linux
10.25 systemd管理服務vim
10.26 unit介紹windows
10.27 target介紹centos
擴展ssh
crontab命令被用來提交和管理用戶的須要週期性執行的任務,與windows下的計劃任務相似,當安裝完成操做系統後,默認會安裝此服務工具,而且會自動啓動crond進程,crond進程每分鐘會按期檢查是否有要執行的任務,若是有要執行的任務,則自動執行該任務。socket
systemctl start crond systemctl status crond systemctl stop crond //分別是開啓、查看、中止crond服務
crontab命令 | 命令效果 | 命令含義 |
---|---|---|
crontab -e | vim /var/spool/cron/root | 編輯計劃 |
crontab -l | cat /var/spool/cron/root | 查看計劃 |
crontab -r | rm /var/spool/cron/root | 刪除計劃 |
crontab -ue user1 | vim vim /var/spool/cron/user1 | user1計劃 |
[root@axiang ~]# crontab -e //設置任務計劃 [root@axiang ~]# systemctl start crond [root@axiang ~]# ps aux | grep cron root 527 0.0 0.1 126220 1612 ? Ss 20:18 0:00 /usr/sbin/crond -n root 2593 0.0 0.0 112664 972 pts/0 S+ 21:51 0:00 grep --color=auto cron [root@axiang ~]# systemctl status crond //查看狀態以下圖
[root@axiang ~]# crontab -l //查看當前設置 1 10 * 2 * /usr/bin/find /tmp/ -type f -mtime +100 |xargs rm -f [root@axiang ~]# cat /var/spool/cron/root //若是想備份、從這裏複製 1 10 * 2 * /usr/bin/find /tmp/ -type f -mtime +100 |xargs rm -f [root@axiang ~]# crontab -r //刪除 [root@axiang ~]# crontab -l no crontab for root [root@axiang ~]# crontab -u root -l //制定用戶
crontab -e //編寫任務,進入相似vim的頁面寫任務計劃
時間可選描述方式:工具
小實驗: 注意:命令儘可能使用絕對路徑,建議追加執行日誌「>>/tmp/rigth.log 2>>/tmp/wrong.log」centos7
chkconfig命令檢查、設置系統的各類服務。這是Red Hat公司遵循GPL規則所開發的程序,它可查詢操做系統在每個執行等級中會執行哪些系統服務,其中包括各種常駐服務。謹記chkconfig不是當即自動禁止或激活一個服務,它只是簡單的改變了符號鏈接(該命令多用於centos6及之前版本)。操作系統
常見參數
示例:
chkconfig --list 查看當前系統服務狀態
ls /etc/init.d/ 查看現有服務 chkconfig --level 345 network off/on 開啓某一級別的服務
運行級別配置文件:「/etc/inittab」,centos7已再也不使用該文件。
ls /etc/init.d/ 123 functions netconsole network README 添加/刪除: chkconfig --add /etc/init.d/123 chkconfig --list 123 0:關 1:關 2:開 3:開 4:開 5:開 6:關 netconsole 0:關 1:關 2:關 3:關 4:關 5:關 6:關 network 0:關 1:關 2:開 3:開 4:開 5:開 6:關 chkconfig --del /etc/init.d/123
systemctl命令是系統服務管理器指令,它實際上將 service 和 chkconfig 這兩個命令組合到一塊兒。
任務 | 舊指令 | 新指令 |
---|---|---|
使某服務開機啓動 | chkconfig --level 3 httpd on | systemctl enable httpd.service |
使某服務開機不啓動 | chkconfig --level 3 httpd off | systemctl disable httpd.service |
檢查服務狀態 | service httpd status | systemctl status httpd.service(服務詳細信息),systemctl is-active httpd.service(僅顯示狀態爲Active的服務信息) |
顯示全部已啓動的服務 | chkconfig --list | systemctl list-units (--all)--type=service(--all同時顯示inactive狀態的服務) |
啓動某服務 | service httpd start | systemctl start httpd.service |
中止某服務 | service httpd stop | systemctl stop httpd.service |
重啓某服務 | service httpd restart | systemctl restart httpd.service |
檢測某服務是否開機啓動 | 無 | systemctl is-enabled httpd.service |
systemctl enable crond systemctl disable crond ls /etc/systemd/system/
unit所在目錄:/usr/lib/systemd/system/
unit文件類型
後綴 | 類型 |
---|---|
service | 系統服務 |
target | 多個unit組成的組 |
device | 硬件設備 |
mount | 文件系統掛載點 |
autoamount | 自動掛載點 |
path | 文件或路徑 |
scope | 非systemd啓動的外部程序 |
snapshot | systemd快照 |
socket | 進程間通訊套接字 |
swap | swap文件 |
timer | 定時器 |
命令 | 任務 |
---|---|
systemctl list-units | 列出正在運行的unit |
systemctl list-units --all | 列出全部unit(包括非運行狀態的或啓動失敗的) |
systemctl list-units --all --status=inactive | 列出inactive狀態的unit |
systemctl list-units --type=service | 列出狀態爲active的service |
systemctl is-active/enabled crond | 查看某服務是否爲active/enabled狀態 |
系統爲了方便管理,因此使用target來管理unit。
任務 | 命令 |
---|---|
查看全部target文件 | systemctl list-unit-files --type=target |
查看指定target下面有哪些unit | systemctl list-dependencies multi-user.target |
查看系統默認target | systemctl get-default |
設置系統默認target | systemctl set-default multi-user.target |
一個service屬於一種類型的unit,多個unit組成一個target,一個target包含多個service。
cat /usr/lib/systemd/system/sshd.service //查看service屬於那個target