计划任务

1at

在未来某个时间点执行一次某任务, 不带周期性,因为at是程序,所以首先要开启服                           

         server atd start

与它相同功能的命令:bath 

       格式: at 时间 【回车】

          at> 命令>路径.  (在某个时间点执行某个程序或命令一定要使用命令绝对路径)

                      查看命令所在路径: whereis command 或者 which command

            at> [ctrl]+d  退出

                at -l  或者atp  查看任务

                at -d id  或者 atrm id   删除任务 

例子:

     

     关于时间的表示和确定

      绝对时间 10:20     DD:MM:YY      MM/DD/YY

          相对时间  now+3m   3分钟以后  now+数字

                  单位有:minutes   hours   days   weeks

          模糊时间:noon  midnight teatime

     使用命令文件方式:
           at -f 文本文件 时间点
           在文本文件里写如命令
      命令的执行结果:将以邮件的形式发送给安排任务的用户  用mail 查看  

batch :

      自动选择空闲时间去执行任务, 不需要指定特定的时间

         /etc/at.allow  白名单

         /etc/at.denv 黑名单 

         两者存在, 白名单有效

     两者都不存在,只允许管理员使用

 黑名单为空, 则所有人都允许

         白名单为空,  所有人都不允许

2. Cron(周期行的执行某任务, 定时执行工具)

    

         它是内置服务, 不自动起来,可以用以下方法启动与关闭此服务

           /sbin/service crond start  |stop  |restart  | reload  启动 关闭重启重新载入

           也可以设置成 自启动

               在/etc/rc.d/rc.local 脚本末尾加上

                                /sbin/service crond start

     分两类:

               系统cron任务 定义在/etc/crontab

                  7段  5个指定时间  用户  任务

                 “分 小时  天 月 周 用户 任务”

               用户cron任务  定义在/var/spool/username

                   “分 小时 天 月 周 任务”

      时间的有效取值:

               分 0-59   小时 0-23  0-31  月 1-12  0-7   07指星期日

         

       时间通配表示

               *: 对应所有的有效取值

                       例子: 13 12 * * * *  每天的1213

                , :离散时间点取值

                       例子:1040 02 * * 25每周周2和周5240 2:10

                 -: 连续时间点

                        例子:10 02 * * 1-5  每周一到周五的两点十分

                  /#对应取值范围内没多久

                        例子:*/3 * * * *  每三分钟一次的任务

       Crontab命令选项:

                 -u   指定一个用户

                 -l    列出某个用户的任务计划

                 -r    删除某个用户的任务

                 -e    编辑某个用户的任务

       Cron 的环境变量

                   Cron 执行的所有命令都去PATH指定的路径下去找

 ..      不发送电子邮件

                    例子 : */3 * * * *  /bin/cat /etc/fastab &> dev/null

      

         新增调度任务

             两种方法:1. 在命令行输入crontab -e 然后添加相应的任务,wq 退出

                     2。 直接编辑/etc/crontab 文件,即 vi /etc/crontab 添加相应的任务

 

 用vi /etc/crontab 编辑计划任务