Linux crontab 定时任务 与 python脚本定时任务

本文详细介绍了Linux系统下使用crontab设置定时任务的方法,包括crontab的基本语法、特殊字符的使用以及示例说明,帮助读者掌握如何创建复杂的定时任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux 创建crontab 定时任务

crontab,它是linux系统的定时任务命令
首先使用当前的用户创建一个crontab文件,使用crontab -e命令创建一个文件

minute   hour   day   month   week   command     #顺序:分 时 日 月 周

其中:

minute:表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

在以上各个字段中,还可以使用以下特殊字符:

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

示例:

#每分钟执行一次command
* * * * * command
 
#每小时的第3和第15分钟执行
3,15 * * * * command
 
#在上午的8点到11点的第3和第15分钟执行
3,15 8-11 * * * command
 
#在每天的23点30分执行备份文件脚本,并同时输出执行错误日志到log文件
30 23 * * * python /home/***/***/test.py >> /home/***/***/test.log 2>&1
 
#每个星期一的上午8点15分执行
15 8 * * 1 command
 
#注意设置时间要大于当前时间1分钟才可能看到效果,
#不然你本地时间如果和linux系统时间不一致就可能会看不到效果

参考链接:

  1. Linux系统使用crontab命令设置定时任务执行python脚本
  2. 如何在 crontab 中让 source ~/.bashrc 生效

python 每天固定时间跑任务

import datetime
import threading
 
def func():
    print("haha")
    #如果需要循环调用,就要添加以下方法
    # timer = threading.Timer(86400, func)
    timer = threading.Timer(10, func)
    timer.start()
 
# 获取现在时间
now_time = datetime.datetime.now()
# 获取明天时间
next_time = now_time + datetime.timedelta(days=+1)
next_year = next_time.date().year
next_month = next_time.date().month
next_day = next_time.date().day
# 获取明天10点时间
next_time = datetime.datetime.strptime(\
            str(next_year)+"-"+str(next_month)+"-"+str(next_day)+" 10:00:00",\
            "%Y-%m-%d %H:%M:%S")
# # 获取昨天时间
# last_time = now_time + datetime.timedelta(days=-1)
 
# 获取距离明天10点时间,单位为秒
timer_start_time = (next_time - now_time).total_seconds()
print timer_start_time

#定时器,参数为(多少时间后执行,单位为秒,执行的方法)
# timer = threading.Timer(timer_start_time, func)
timer = threading.Timer(10, func)
timer.start()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值