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系统时间不一致就可能会看不到效果
参考链接:
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()