美文网首页
2019-07-31定时任务

2019-07-31定时任务

作者: 麟之趾a | 来源:发表于2019-07-31 09:42 被阅读0次

定时任务

定时任务实现方法
1)  定时任务软件 cronie
2)  定时任务软件atd 只能一天执行一次
3)  anacron 定时时间有固定的设置,即每小时,每天,每星期,每月
系统默认定时任务
cron.hourly    系统每小时执行的任务
cron.daily     系统每天执行的任务
cron.weekly    系统每周执行的任务
cron.monthly    系统每月执行的任务
用户自定义设置定时任务
crontab 系统设置和查看定时任务
crontab –e 编辑用户定时任务
crontab –l 列表用户定时任务
定时任务配置文件
/var/spool/cron/root  root用户设置定时任务的文件
/var/spool/cron/oldboy oldboy用户设置定时任务的文件
定时任务启动
systemctl start crond
systemctl enabled crond
定时任务样例文件
[root@oldboy63 /var/log]# cat /etc/crontab 
SHELL=/bin/bash                                         指定SHELL变量
PATH=/sbin:/bin:/usr/sbin:/usr/bin                      指定PATH路径变量
MAILTO=root                                             指定root用户的邮件文件

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)                       分
# |  .------------- hour (0 - 23)                         时
# |  |  .---------- day of month (1 - 31)                 日
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ... 月
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat  周
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
分 时 日 月 周

\color{red}{注:日期和星期不能同时使用}

定时任务的日志文件分析
[root@oldboy63 /var/log]# head -2 cron
Jul 28 09:24:01 oldboy63 run-parts(/etc/cron.daily)[115823]: finished logrotate
Jul 28 09:24:01 oldboy63 run-parts(/etc/cron.daily)[115811]: starting man-db.cron
      01          02           03                               04
01:定时任务触发时间
02:主机名
03:读取什么定时任务文件信息
04:定时任务做了什么事

\color{blue}{为了加快定时任务执行,可以调整服务器时间 PS:应把服务器时间往后调}

定时任务书写格式
分   时   日   月   周
分钟 0-59 
小时 0-23
日期 1-31
月份 1-12
周   0-6
'* 每分钟,或每小时,或每..执行一次
\n 每隔多长时间执行一次
-   连续的一个时间范围
,   不连续的时间段执行
定时任务编写常见问题
1)  每隔5分钟进行时间同步
方法一:使用绝对路径编写
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
方法二:把命令放入脚本中
#!/bin/bash
PATH= /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
ntpdate ntp1.aliyun.com
2)  查看定时任务的环境变量
* * * * * echo $PATH >/root/path 
[root@oldboy63 /etc/cron.daily]# cat /root/path 
/usr/bin:/bin
3)  查看没有配置PATH路径的脚本环境变量
* * * * * /bin/sh /root/d.sh &> /dev/null
[root@oldboy63 ~]# cat d.sh 
#!/bin/bash
echo $PATH > /root/path1
[root@oldboy63 ~]# cat path1
/usr/bin:/bin
3.  规范化编写定时任务
  */5 * * * * /usr/bin/ntpdate ntp1.aliyun.com &> /dev/null
postfix服务开启:如果没有重定向黑洞文件,/var/spool/mail/root.如使用root用户,则这个文件就会变大,当命令执行错误时,导致block块变大
postfix服务没有开启:如果没有重定向黑洞文件, /var/spool/postfix/maildrop/,如果使用root用户,当命令执行错误时,这个文件就会堆满小文件,导致inode数量过大
编写时:把无论正确或者错误的信息重定向输出到/dev/null
4.  将特殊字符使用转义字符\ 如\%
或者使用脚本方式编写
定时任务编写注意事项
  1. 编写定时任务需要有注释信息
  2. 编写定时任务需要注意环境变量
  3. 编写环境变量需要注意特殊符号
  4. 编写定时任务需要将输出信息定义到空/dev/null
  5. 编写定时任务建议使用脚本编写
编写定时任务规范

第一个里程:测试命令是否在命令行中执行成功
第二个里程:把命令放入定时任务中(绝对路径)
第三个里程:调整时间,进行测试
第四个里程:检查信息,检查任务执行结果

编写定时任务脚本规范

第一个里程:编写脚本信息
第二个里程:测试脚本执行情况
第三个里程:把脚本放入定时任务中(绝对路径)
第四个里程:调整时间信息
第五个里程:检查日志信息,查看任务执行结果

测试环境测试定时任务没有问题,执行脚本将线上服务器做改动

compress.sh
#!/bin/bash
tar xxxxx
线下服务器
echo ‘* * * * * * /bin/sh compress.sh’>>/var/spool/cron/root

相关文章

  • 2019-07-31定时任务

    定时任务 定时任务实现方法 系统默认定时任务 用户自定义设置定时任务 定时任务配置文件 定时任务启动 定时任务样例...

  • 分布式定时调度-xxl-job

    一、定时任务概述 1.1 定时任务认识 1.1.1 什么是定时任务 定时任务是按照指定时间周期运行任务。使用场景为...

  • day 22 操作系统定时任务

    系统定时任务概念==生活中闹钟 系统定时任务实现方法: 实现定时任务配置: 定时任务如何进行设置 定时任务编写常见...

  • 7月30日 定时任务

    定时任务 代替人自动完成一些任务 定时任务实现的方法 定时任务软件:cronie定时任务软件:atd --- 设...

  • SpringBoot 定时任务

    1.如何定时任务 1.1 开启定时任务 1.2 @Scheduled(预定的)选择要定时执行的任务 == 定时在前...

  • crontab 定时任务

    查看当前用户的定时任务列表 创建(编辑)定时任务列表 定时任务格式 删除定时任务 注意 一定要设置crontab的...

  • 2019-10-14 定时任务方案

    定时任务方案 定时任务实现

  • Linux定时任务Crontab

    定时任务服务提供crontab命令来设定任务 定时任务命令: 定时任务服务提供crontab命令来设定任务 cro...

  • Android中 Handler延时 定时任务

    1.延时 2.定时任务,间隔固定时间执行某项任务 3.定时任务,间隔固定时间执行某项操作后关闭定时任务 参考:ht...

  • crondtab 定时任务

    编辑定时任务 crontab -e 查看定时任务 crontab -l 删除定时任务 crontab -r 如:*...

网友评论

      本文标题:2019-07-31定时任务

      本文链接:https://www.haomeiwen.com/subject/hbiarctx.html