Linux系统使用crontab命令设置定时任务执行python脚本

最近根据需要我们有一个脚本需要跑在服务器上,本来打算使用python的定时任务来做,后面觉得一个python进程一直运行,怕是有点浪费资源,决定最后利用linux系统的定时任务来做这件事,以前没有怎么好好用过linux系统,只能一边找资料一边学习,经同事推荐,使用crontab就可以满足我的需求,就学习了一波……

主要它的用法也非常简单,给人一看就明白的感觉,下面是它的标准格式:

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字段,表示每十分钟执行一次。

简单说明一下crontab,它是linux系统的定时任务命令,与windows系统下的计划任务有点类似,我们的使用方法也很简单,首先使用你当前的用户创建一个crontab文件,使用crontab -e命令创建一个文件,这个文件在这个目录下:

/var/spool/cron

使用 cd /var/spool/cron就可以切换到该目录下,文件名是以当前用户名命名的,比如你当前是root权限账户,那你创建的文件可能就是root,如果你是test用户,那么文件名就是test,切记,所有用户定义的crontab文件都被保存在/var/spool/cron目录中,之后编辑该文件,使用vim root或vim test编辑文件。下面给大家看实例:

每分钟执行一次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系统时间不一致就可能会看不到效果

 

参考博客链接:https://blog.csdn.net/ybsun2010/article/details/9972403

参考网站:http://man.linuxde.net/crontab

你可能感兴趣的:(Linux系统学习,随笔)