Linux高级篇学习手册(二)
1. Linux的crontab定时任务
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
1. 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
2. 个别用户工作:个别用户可能希望执行某些程序,比如对 mysql数据库的备份
crontab进行定时任务的设置。
命令参数:
- l:显示当前用户所有的定时任务机
- e:使用vim编辑当前用户的定时任务,一行一个定时任务
- r:删除当前用户的定时任务
演示:
1.1 配置定时任务
格式:分 时 日 月 周 命令
crontab定时命令只能最快按照分钟去执行,不能安装毫秒执行,如果需要按照毫秒执行可以使用java
含义:按照指定的时间执行命令, 就是定时任务
- minute:表示分钟,从0-59的任何整数
- hour:表示小时,从0-23的任何整数
- day:表示日,从1-31的任何整数
- month:表示月,从0112的任何整数
- week:表示周,从0-7的任何整数,0或者7代表星期日,1-6代表周一到周六
- command:表示要执行的命令
特殊字符介绍:
星号* :代表所有可能的值。
逗号,:用逗号隔开的值指定某个时间点
短横- :表示一个整数范围
正斜杠/ :表示指定时间的间隔频率
eg:
* * * * * command --> 每1分钟执行 30 21 * * * command --> 每天的21点30分执行 3,15 * * * * command --> 每小时的第3和第15分钟执行 6,12 3-4 * * * command --> 每天上午3点到4点的第6和第12分钟执行 */3 * * * * command --> 每隔三分钟执行
输出系统当前时间命令:
date
案例:每分钟打印系统当前时间输出到/root/mydate.log文件中
实现步骤:
1.使用crontab -e 进入编辑当前用户的定时任务编辑器
2.编写定时任务命令
3.>>
代表追加输出
* * * * * date >> /root/mydate.log
4.>
代表覆盖输出
5.观察运行,看是否每分钟进行打印.
2. Linux的服务管理
服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql,shd防火墙等)。
6.1 服务管理
命令:
sysytemctl 【选项】 服务名
参数详情介绍:
- start:启动服务。
- stop:停止服务。
- status:查看服务的状态。
- restart:重启服务。
- reload:不停止定时器,重新加载新的配置文件,使其生效。
2.2 服务自启动
命令相关:
- systemctI list-units service :查看服务运行状态
- systemcti list-unit-files --type=service :查询所有服务是的开机状态
- systemctl enable 服务名:设置某个服务开机自启动
- systemctl disable 服务名:设置某个服务器开机不自动启动。
- systemctI is-enabled 服务名:查询指定服务器开机启动状态
- systemctl list-unit-files 服务名.service:查询指定服务器开机启动状态
注意:
服务默认状态分类:
- enable : 开启自启动
- disable: 手动启动
- daemon的默认状态除了enable和disable之外,还有其他类型:
- static:这个服务不可以自己启动,但是可能被其他的enable类型的服务唤醒(相依属性的服务)。
- mask:这个服务无论如何都不会被启动!因为已经被强制注销(非删除),可通过systemctl unmask方式改回原本状态。
服务当前状态分类
- active (running):表示正有一个或多个程序正在系统中执行。
- active (exited):表示仅执行一次就正常结束的服务。
- active (waiting):表示正在执行当中,不过还在等待其他的事情才能继续处理。
- inactive:表示这个服务目前没有运行。
2.3 演示效果
总结
这篇文章就到这里了,如果这篇文章对你也有所帮助,希望您能多多关注脚本之家的更多内容!
最新评论