LINUX----计划任务(定时任务)

    有的时候我们需要指定时间执行某项操作,这个时候就需要定时任务,linux有着简单的定时任务。

计划任务种类:

                    例行性:每隔一定周期执行一次(crontab)

                    突发性:执行完一次之后结束(at)


1.at:

            如果你想计划将来的某一个时间执行某项事件,执行完毕之后就不需要了,那么就选at!

            使用at首先确保启动atd服务,输入命令:

                                systemctl status atd:

atd运行状态

                        1》如果提示没有这个文件,那么需要先下载atd:

                                                sudo apt install at 

                        2》当我们看到显示标注的样式时,那么就可以使用at命令了。

        1》使用权限:

                并不是所有的用户都能够使用at计划任务,我们可以使用/etc/at.allow/etc/at.deny两个文件控制用户的使用权限。

                规则:

                        1》先寻找/etc/at.allow这个文件,在这个文件中的用户可以使用,不在的不可以使用

                        2》如果没有/etc/at.allow文件则查找/etc/at.deny文件,在这个文件中的用户不可以使用,不在的可以使用

                        3》如果这两个文件都不存在,那么只有root用户可以使用

        2》使用方法:

                        at [option] TIME

                参数:

                        ①-m    当at的任务完成后,即使没有输出信息也发email通知使用者任务完成

                        ②-l    列出目前系统上面的所有使用者的at计划

                        ③-d    取消在at计划的任务

               TIME:

                        ①    ex >      HH:MM

                        ②    ex >      HH:MM YYYY-MM-DD

                        ③    ex >     HH:MM[am|pm]   [month]   [date]

                        ④    ex >     HH:MM[am|pm]   + number  [minutes|hours|days|weeks]

              结束:

                         当我们编辑完之后,使用ctrl+d结束编辑

             注意:

                        ①最好以绝对路径执行命令,避免出问题

                         ②在at运行时,会跑到当时执行at命令的那个工作目录

简单命令样式

                                   1》at提示加命令运行时间

                                    2》命令执行内容代码

                                    3》编辑完成之后【ctrl】+【d】完成编辑

            3》查看当前素有任务,输入命令:

                                                                atq

参看当前所有任务命令

            4》删除指定命令:

                                                        atrm number

删除指定任务

2.空闲任务:

                系统有空才会执行的任务,它是在CPU的任务负载小于0.8的时候,才执行任务

                                                              batch

batch示例

3.循环计划任务:

            权限:

                    循环计划任务同样像at计划任务那样有着它的作用范围,它同样拥有配置文件/etc/cron.allow/etc/cron.deny两个配置文件:

                    ①/etc/cron.allow存在的时候,在这个文件中的用户可以使用crontab命令,不在这个文件中的用户不可以使用crontab命令

                    ②/etc/cron.allow不存在时,在/etc/cron.deny文件中的用户不可以使用crontab命令,不在的可以使用crontab命令

                    ③两个文件都不存在的时候,只有root可以使用

            命令:

                                                        crontab    -e

                    ①每一个任务占一行

代码格式

                                    1》*     代表任何时刻都接受

                                    2》,   代表分隔时段

                                    3》-     代表一段时间范围内

                                    4》/n    n为数字,代表每隔n单位时间

                                    5》命令执行时最好使用绝对路径


4.配置文件:

            linux下的所有东西都是文件,那么计划任务的配置文件在哪呐?

            使用编辑器打开:

                                                    vi     /etc/crontab:

 /etc/crontab配置文件

                    1》我们可以看到标注的地方有三个定时,分别是:

                                    ①每天的6:25执行

                                    ②每周周末的6:47执行

                                    ③每个月1号的6:52执行

                    2》我们查看/etc的目录结构:

目录截图

                    3》我们打开文件,发现里面是各种脚本:

目录截图

                             那么我们是不是把脚本放到这些目录下,是不是也可以定期执行呐?

                              是的!我们把脚本放到对应的文件夹下就会定期执行

                                       1》放到cron.daily下每天执行一次

                                       2》放到cron.weekly下每周执行一次

                                       3》放到cron.monthly下每月执行一次

            当然我们直接在/etc/crontab文件下编辑也会定期执行我们的定时任务,每个任务是一行,格式是:

代码格式

你可能感兴趣的:(LINUX----计划任务(定时任务))