linux任务计划cron
- linux 当中 任务计划必不可少的。
- 比如凌晨的时候要去做一些事情,比如备份数据,重启服务。这个可能是一个shell脚本 也可能是一个单独的命令。总需要一个时间去执行他。
- 在windows下 个人电脑 任务计划很少见。
- etc/crontab 是任务计划的配置文件。里面有几个变量,MAILTO 是发送给谁,下面的 就是格式 从左到右五个星。 第一个是 分钟,第二个小时,第三个日期,第四个是月份,第五个是星期, 0表示周日,或者写7也行 都是周日的意思。下面的就是用户。可以是root 也可以是普通用户。然后是执行的命令。
- 定义的命令是 crontab -e 这样就进去配置文件了, 和vim用法一样的。
- 依次是分时 *表示所有,意思就是任何时间。后面就是加 你要执行的任务计划,比如是 一个shell 脚本
- 后面还可以输出到一个文件中, 也可以追加重定向 >>
- 同样的 也可以指定一个范围。
- 比如 设定 1-10号 每个双月份,也就是*/2 除以2 2,5 星期二 星期五。 没有年份是因为 每一年的星期都有所不同,所以用星期来确定唯一性。
- 想正常启动 还要去启动这个服务。
- systemctl start crond 就可以了。
- 如何去查看是否启动,有两个命令
- ps aux |grep cron 和 systemctl status crond 显示是 绿色代表启动了。 停掉就没有颜色
- 如果计划没有执行,可能是因为 没有写绝对路径。你用的命令 可能不在PATH 里面 建议写绝对路径。
- 建议每写一个计划 都追加一个日志,正确错误都加上。
- crontab 的文件在 /var/spool/cron/ 这里面有对用的用户的cron root user 1 等。
- 如果要备份 把整个目录拷贝一下就行了。
- crontab -e 是编辑 -l 是列出 -r 是删除。-u 指定用户。
linux 系统服务管理 chkconfig 工具
- 有很多服务 ,就要去管理它, sentos 6 之前是用chkconfig 7是不用了,但是还能用它。
- chkconfig --list 可以查看都哪些在使用服务。
- 其他服务不在这里面 sysv 是表示 6之前用的是sysv 7版本 是用systemd 。 用top看的时候可以看到 PID 1的是systemd 说明它很重要。 在6的时候 是init
- 这个chkconfig 虽然还能用 但是剩下使用服务的并不多了 是在etc目录下。
- 可以开启关闭 服务 命令就是 chkconfig network off 或者on 。
- 这个开关 表示开机是否启动。 后面的 0 1 2 3 4 5 6
- 0级别就是关机状态,1就是单用户,2和3就差一个地方,3是多用户模式,不带图形,2比3少了一个nfs服务。 一种网络文件系统。4级别是保留状态,5级别 多用户 带图形。 6是重启。
- 定位到那个级别 就会开机启动那个级别。
- 现在已经不存在什么级别了。 之前可以更改配置文件 是inittab 就可以启动进入某个级别。
- 在7系统里 会提示 已经不在使用了。
- 也可以指定某一个级别开启或者关闭 就是 chkconfig --level 3 network off 或者on
- 多个级别开启或者关闭,不用加逗号 直接写就行了。
- 也可以把脚本加入到服务里面来。chkconfig --add 123
- 把这个脚本放在 init.d 下面去 添加到服务列表。 而且内容有要求。
- 首先是一个脚本,然后指定一个运行级别 2345 第十位识别,第九十位关闭。
- description 这个是个描述 这两个有才可以识别。
- 可以增加就可以删除, chkconfig --del 123 就可以删除了。
systemd 管理服务
- systemd 是用 systemctl list-unit-files 查看所有服务。
- 这个包含了很多, 看着很乱。 有个命令看起来比较方便一些。 首先列出来都是service 还有其他描述信息。 他也提示 这些列出来的是什么意思。
- 如果不加 --all 就不会显示inactive
- 服务开机启动和关闭。
- 也可以查看状态 停止服务 启动服务,重启服务。
- 检查服务是否开机启动。
- 我们也可以根据输出信息 获得一个信号 ,就是获得service的配置文件内容。 实际上这个是个软链接。
unit介绍
- 刚才说到 enable 后会有一个软链接 后面是他的原路径 原路径里面是很多文件 这些文件都叫unit
- 主要分几种类型。
- sentos6之前有7个级别 在7里面也有类似的级别。这些类似级别也是软链接 和6基本运行级别一样。
- 几个unit相关的命令。
- 列出正在运行的unit 加all 列出所有。包括失败的或者inactive的
- 也可以列出 inactive的unit
- 也可以 列出 状态为active 的service 加上all 就是inactive 也列出来
- 查看某个服务是否为active
target介绍
- target 是管理unit的。
- 列出所有的target
- 查看指定target下面有哪些unit target下面可以继续有target
- 查看系统默认的target
- 可以通过更改默认target 去实现 开启启动某个级别。
- 设置这个默认的target的时候 也会创建一个软链接。
- 属于那个target 看 install
- 系统管理机制systemd 由多种unit组成 这么多 ,归类, 每组叫target , service 属于unit
转载于:https://blog.51cto.com/13645927/2115492