當咱們須要在凌晨執行一條命令或運行一個腳本的時候,咱們可能不會守在電腦旁,等時間到了去操做,常常咱們會使用任務計劃cron來實現。centos
而使用任務計劃每每會用到日期和時間等數值,可是咱們在安裝centos的時候時間選的是對的,可是在安裝完了以後咱們會發現系統的時間跟實際時間是對不上的,這是由於安裝系統是採用了UTC,簡單來講UTC就是0時區的時間,是國際標準,而咱們中國是處於東八區+8時區。這個時候就須要修改系統時間了。bash
[root@localhost ~]# date 2018年 07月 27日 星期五 21:56:16 CST
[root@localhost ~]# clock 2018年07月27日 星期五 21時57分01秒 -0.810611 秒 [root@localhost ~]# hwclock 2018年07月27日 星期五 21時57分09秒 -0.219701 秒
date 020310552018.44
[root@llll ~]# date 020310552018.22 2018年 02月 03日 星期六 10:55:22 CST
date -s 07/27/18
這裏是拿2018-7-27來舉例。date -s 22:09:22
hwclock --systohc
時間設置完成以後就能夠作任務計劃了。有兩個文件能夠控制crontab可否被其餘用戶使用,/etc/cron.deny 和/etc/cron.allow 系統默認保留的是/etc/cron.deny,最好選擇一個使用,避免邏輯混亂。若是不想用戶lic使用crontab功能,能夠將lic添加到/etc/corn.deny文件中。ssh
** 使用crontab來新建了任務計劃以後,該項計劃就會被記錄到/var/spool/cron裏面,且是以帳號來判別的。好比,root用戶建了任務計劃就會被寫到/var/spool/cron/root中;另外cron執行的每一項工做都會被寫到/var/log/cron這個日誌文件中,因此若是不知道系統是否被惡意運行過cron ,能夠查看該日誌文件。**socket
任務計劃的配置文件是/etc/crontab能夠cat看一下里面的說明工具
[root@llll ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
能夠清楚的看到,編輯一個任務計劃時,第一段分鐘第二段小時第三段日期第四段月份第五段禮拜幾 第六段 命令 。若是每隔五分鐘操做一次,就在分鐘哪裏*/5就能夠了。centos7
[root@llll ~]# crontab -l 00 23 * * * mail li.chao11@21vianet.com < /tmp/1.txt
[root@llll ~]# crontab -r [root@llll ~]# crontab -l no crontab for root
chkconfig工具是centos7以前的版本使用的系統服務管理工具,在7以後該工具下面只有少數幾個服務在裏面,其餘的系統服務都在systemd中rest
[root@llll ~]# chkconfig --list 注意:該輸出結果只顯示 SysV 服務,並不包含原生 systemd 服務。SysV 配置數據可能被原生 systemd 配置覆蓋。 若是您想列出 systemd 服務,請執行 'systemctl list-unit-files'。 欲查看對特定 target 啓用的服務請執行 'systemctl list-dependencies [target]'。 iprdump 0:關 1:關 2:開 3:開 4:開 5:開 6:關 iprinit 0:關 1:關 2:開 3:開 4:開 5:開 6:關 iprupdate 0:關 1:關 2:開 3:開 4:開 5:開 6:關 netconsole 0:關 1:關 2:關 3:關 4:關 5:關 6:關 network 0:關 1:關 2:開 3:開 4:開 5:開 6:關
上面顯示的這些服務,文件是在/etc/init.d下的日誌
[root@llll init.d]# ls functions iprdump iprinit iprupdate netconsole network README
[root@llll init.d]# chkconfig --level 34 network off [root@llll init.d]# chkconfig --list 注意:該輸出結果只顯示 SysV 服務,並不包含原生 systemd 服務。SysV 配置數據可能被原生 systemd 配置覆蓋。 若是您想列出 systemd 服務,請執行 'systemctl list-unit-files'。 欲查看對特定 target 啓用的服務請執行 'systemctl list-dependencies [target]'。 iprdump 0:關 1:關 2:開 3:開 4:開 5:開 6:關 iprinit 0:關 1:關 2:開 3:開 4:開 5:開 6:關 iprupdate 0:關 1:關 2:開 3:開 4:開 5:開 6:關 netconsole 0:關 1:關 2:關 3:關 4:關 5:關 6:關 network 0:關 1:關 2:開 3:關 4:關 5:開 6:關
還可使用chkconfig --add 來將某個服務添加到chkconfig工具下管理或使用chkconfig --del 將某個服務從chkconfig管理工具下刪除。無論刪除仍是添加有一個前提是該服務有一個有效的配置文件在/etc/init.d/中code
[root@llll init.d]# cp network 222 [root@llll init.d]# ls 222 functions iprdump iprinit iprupdate netconsole network README [root@llll init.d]# cd .. [root@llll etc]# cd [root@llll ~]# chkconfig --add 222 [root@llll ~]# chkconfig --list 注意:該輸出結果只顯示 SysV 服務,並不包含原生 systemd 服務。SysV 配置數據可能被原生 systemd 配置覆蓋。 若是您想列出 systemd 服務,請執行 'systemctl list-unit-files'。 欲查看對特定 target 啓用的服務請執行 'systemctl list-dependencies [target]'。 222 0:關 1:關 2:開 3:開 4:開 5:開 6:關 iprdump 0:關 1:關 2:開 3:開 4:開 5:開 6:關 iprinit 0:關 1:關 2:開 3:開 4:開 5:開 6:關 iprupdate 0:關 1:關 2:開 3:開 4:開 5:開 6:關 netconsole 0:關 1:關 2:關 3:關 4:關 5:關 6:關 network 0:關 1:關 2:開 3:關 4:關 5:開 6:關
在centOS7 及之後的版本,systemd這個管理工具是很重要的。進程
systemctl list-unit-files
命令來查看全部的units-files顯示的內容不少,不方便查看systemctl list-units --all --type=service
命令會列出全部的服務systemctl list-units --type=service
命令會列出全部激活的(active)服務systemctl -enable crond.service
systemctl -disable crond.service
systemctl status crond
systemctl stop crond
systemctl start crond
systemctl restart crond
\systemctl is-enabled crond
[root@llll ~]# systemctl is-enabled crond enabled
系統爲了方便管理,用target管理unit