Linux下定时任务的操作

##############################

Linux下的任务调度分为两类,系统任务调度和用户任务调度。
1,系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。
    在/etc/crontab文件,这个就是系统任务调度的配置文件。
2,用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。
    用户可以使用 crontab 工具来定制自己的计划任务。
    在crontab 文件都被保存在/var/spool/cron目录中。其文件名与用户名一致

##########################

1.系统定时任务:例如清理系统日志,清理系统缓存   -->不过多的关注
    查询系统定时处理任务的路径:
        路径1:
            cd /etc/logrotate.d/        -->可以写定时任务
            less syslog 
        路径2:
            cat /etc/crontab   -->不推荐使用,但是可以看格式
        路径3:
             ls /etc/ | grep cron*
                 anacrontab
                 cron.d                 -->同路径2 ,可以写定时任务  
                 cron.daily
                 cron.deny              -->控制普通用户使用定时任务crontab
                 cron.hourly
                 cron.monthly
                 crontab
                 cron.weekly
2.用户的定时任务      -->关注重点

##################################

前四行是用来配置crond任务运行的环境变量
第一行SHELL变量指定了系统要使用哪个shell,这里是bash
第二行PATH变量指定了系统执行命令的路径
第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户
如果MAILTO变量的值为空,则表示不发送任务执行信息给用户
第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。

星号(*):代表所有可能的值,如month字段为星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。


小 结: 数字的表示最好用2为阿拉伯数字显示 周和日最好不要同时用 定时任务要加注解 可以定向到日志文件或者空文件 定时任务一定是绝对路径,且目录必须存在才能出结果 crontab 服务一定要开启运行

############################

0 0 * * * sh /root/autotest/hwtest/auto-del-log.sh
0 */3 * * * python3 /root/autotest/hwtest/hwtestpro/bbs/srun_bbs_test.py
0 */1 * * * python3 /root/autotest/hwtest/hwtestpro/bbs/url_main.py

零点零分执行,
每3小时0分执行一次
每1小时0分执行一次,

####################################

时间格式如下:
f1 f2 f3 f4 f5 program
解释:
f1 是表示分钟, 分钟(0-59)
f2 表示小时, 小时(0-23)
f3 表示一个月份中的第几日,一个月中的第几天(1-31)
f4 表示月份, 月份 (1 - 12)
f5 表示一个星期中的第几天。 星期中星期几 (0 - 7) (星期天 为0)
program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行program,f2 为 * 时表示每小时都要执行程序,其馀类推 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推 当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推


######################

crontab -l 表示列出所有的定时任务
crontab -r 表示删除用户的定时任务,当执行此命令后,所有用户下面的定时任务会被删除,执行crontab -l后会提示用户:“no crontab for admin”
crontab -e 表示编辑定时任务,

###################################

常用的命令展示
安装crontab:yum install crontabs
crontab服务操作说明:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
查看crontab服务状态:
service crond status

##########################################

####################################

         -e      (edit user's crontab )
         -l      (list user's crontab )
         -r      (delete user's crontab )

猜你喜欢

转载自www.cnblogs.com/andy0816/p/12728882.html