在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