10.23 linux任务计划cron
10.24 chkconfig工具
10.25 systemd管理服务
10.26 unit介绍
10.27 target介绍
10.23 crontab命令
crontab:任务计划 在约定时间里执行命令或者脚本
crontab的配置文件在/etc/crontab
1
[root@kun0769 ~]# vim /etc/crontab
可以发型crontab命令的格式是 分 时 日 月 周 用户名(默认是系统登录的用户) 执行的命令(命令最好写绝对路径)
可以使用1-5表示范围1到5
可以使用1,2,3表示1和2和3
可以使用*/2表示能被2整除的数 比如小时 就是每隔2小时 月就是双号的月份
-e
:编辑任务计划内容1
[root@kun0769 ~]# crontab -e
在双月份的1到10号中的星期二和星期四的凌晨3点来执行123.sh并把执行成功和错误的结果追加到123.txt里
systemctl start crond:开启任务计划的服务
1 | [root@kun0769 ~]# systemctl start crond |
可以使用ps aux |grep crond
或者systemctl status crond
来查看是否开启任务计划服务
-l
:列出所有的任务计划1
2[root@kun0769 ~]# crontab -l
0 3 1-10 */2 2,4 /bin/bash /usr/loacl/sbin/123.sh >>/tmp/123.txt 2>>/tmp.txt
-r
:删除所有的任务计划1
[root@kun0769 ~]# crontab -e
-u
:指定用户1
2[root@kun0769 ~]# crontab -u root -l ##查看root用户的任务计划
0 3 1-10 */2 2,4 /bin/bash /usr/loacl/sbin/123.sh >>/tmp/123.txt 2>>/tmp.txt
任务计划的编辑的内容都是存放在/vat/spool/cron/用户名
文件中 备份就直接cp这个目录即可
10.24/10.2510.26/10.27 服务管理
由于CentOS7默认使用了systemd命令来管理服务 而chkconfig命令只管理小部分的服务了 chkconfig的服务都是在/etc/init.d/
目录下
chkconfig:服务管理命令
chkconfig –list:列出所有服务的列表
每行服务都有6个状态 0关机 1单用户模式 2多用户模式(少NFS) 3多用户模式 4保留 5多用户模式(图形)6重启
chkconfig 服务 on/off:启动/关闭服务
1 | [root@kun0769 ~]# chkconfig network off ##关闭network服务 |
chkconfig –level 序号 服务 on/off:在某模式下启动/关闭服务
1 | [root@kun0769 ~]# chkconfig --level 35 network on ##在3和5模式下开启network服务 |
chkconfig –add 服务:添加服务到列表中 服务必须在/etc/init.d/中
1 | [root@kun0769 ~]# chkconfig --add netconsole 添加netconsole服务到列表中 |
chkconfig –del 服务:删除服务列表中的服务
1 | [root@kun0769 ~]# chkconfig --del netconsole ##从列表中删除netconsole服务 |
systemctl list-units –all –type=service:列出系统所有服务
1 | [root@kun0769 ~]# systemctl list-units --all --type=service |
systemctl enable 服务:允许服务开机启动
1 | [root@kun0769 ~]# systemctl enable crond |
sytemctl disable 服务:禁止服务开机启动
1 | [root@kun0769 ~]# systemctl disable crond |
systemctl start 服务:开启服务
1 | [root@kun0769 ~]# systemctl start crond |
systemctl stop 服务:停止服务
1 | [root@kun0769 ~]# systemctl stop crond |
systemctl restart 服务:重启服务
1 | [root@kun0769 ~]# systemctl restart crond |
systemctl status 服务:查看服务状态
1 | [root@kun0769 ~]# systemctl status crond |
systemctl is-enabled 服务:服务是否开机启动
1 | [root@kun0769 ~]# systemctl is-enabled crond |
在/usr/lib/systemd/systemm/
目录下,存放了所有的units,units是systemd下的单位 在此目录每个文件都是一个units 他包含多个类型
类型 | 意思 |
---|---|
service | 系统服务 |
target | 多个units的组合 |
device | 硬件设备 |
mount | 文件系统挂载点 |
automount | 自动挂载 |
path | 文件或路径 |
scope | 不是由systemd启动的外部进程 |
slice | 进程组snapshot 是systemd快照 |
socket | 进程间通信套接字 |
swap | swap文件 |
timer | 定时器 |
systemctl list-units:列出系统正在允许的units
1 | [root@kun0769 ~]# systemctl list-units |
systemctl list-units –all:列出系统所有的units
1 | [root@kun0769 ~]# systemctl list-units --all |
systemctl list-units –all –state=inactive:列出所有是inactive状态的units
1 | [root@kun0769 ~]# systemctl list-units --all --state=inactive |
systemctl list-units –type=service:列出所有运行的服务
1 | [root@kun0769 ~]# systemctl list-units --type=service |
systemctl is-active 服务:查看服务是否运行
1 | [root@kun0769 ~]# systemctl is-active crond |
syttemctl list-unit-files –type=target:列出系统所有target类型的units文件
1 | [root@kun0769 ~]# systemctl list-unit-files --type=target |
systemctl list-dependencies target名:查看指定target由什么units组成的
1 | [root@kun0769 ~]# systemctl list-dependencies basic.target |
其中也可以去/usr/lib/systemd/system/
服务 的[install]部门来查看此服务是属于哪个target的
systemctl get-default:查看系统默认的target
1 | [root@kun0769 ~]# systemctl get-default |
systemctl set-default target名:设置系统默认的target
1 | [root@kun0769 ~]# systemctl set-default multi-user.target |
总结
units有多个类型 其中service target是其中一种类型 而多个units组成了target 所有单个target里面可以有若干个service