Linux高级篇学习手册(二)

1. Linux的crontab定时任务

任务调度:是指系统在某个时间执行的特定的命令或程序。

任务调度分类:

​ 1. 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等

2. 个别用户工作:个别用户可能希望执行某些程序,比如对 mysql数据库的备份

crontab进行定时任务的设置。

命令参数:

  • l:显示当前用户所有的定时任务机
  • e:使用vim编辑当前用户的定时任务,一行一个定时任务
  • r:删除当前用户的定时任务

演示:

Linux高级篇学习手册(二)

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 演示效果

Linux高级篇学习手册(二)

Linux高级篇学习手册(二)

总结

这篇文章就到这里了,如果这篇文章对你也有所帮助,希望您能多多关注的更多内容!