1,crontab是个啥?

ubuntu系统自带cron工具,cron是一个系统上的定时工具,用它的好处在于,不同的程序可以用同一个计时器,这样就省得不同程序各自sleep了,另外它还支持比较多的个性化功能,比如每月1号执行一次,

2,crontab怎么用?

crontab是一个和当前用户绑定的命令,一个用户有一个用户的定时配置文件,文件位置/var/spool/cron

crontab -l|-r|-e|-i 用户名
#-l:显示用户定时文件的内容
#-r:删除用户定时文件
#-i:删除用户定时文件的时候给个提示,常用-ri
#-e:编辑用户的crontab文件,第一次用可能让你选择编辑器,

登录系统用户,并且为用户创建定时文件:

crontab -e
#打开一个配置文件,并且让用户输入crontab命令

输入命令并且保存:

* * * * * /usr/bin/python /home/center/temp/crontest/logout.py
#命令的意思是每隔一分钟执行一次logout.py文件,ps:建议使用绝对命令

本人logout.py中的内容:

#!/usr/bin/python
import time
f=open("/home/center/temp/crontest/test.log","a")
t = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
str1 = '执行时间:' + t + '\n'
f.write(str1)
f.close()

crontab命令格式是这样的:

接下来需要启动cron服务

sudo service cron start
sudo service cron restart #重启
sudo service cron stop #关闭

启动成功以后使用ps查看后台进程,就会多一个这样的

root       948  0.0  0.0  30748  3272 ?        Ss   16:28   0:00 /usr/sbin/cron -f

那么问题来了,如果开启了crontab服务的电脑重启了以后,服务还有么?答案是,,还有的。本人亲测

3,crontab定时格式详解

占位符含义

每个字段代表的含义及取值范围如下:
  Minute :分钟(0-59),表示每个小时的第几分钟执行该任务
  Hour : 小时(1-23),表示每天的第几个小时执行该任务
  Day : 日期(1-31),表示每月的第几天执行该任务
  Month : 月份(1-12),表示每年的第几个月执行该任务
  DayOfWeek : 星期(0-6,0代表星期天),表示每周的第几天执行该任务

特殊符号含义

  “*” ,代表所有的取值范围内的数字;
  “/” , 代表”每”(“*/5”,表示每5个单位);
  “-” , 代表从某个数字到某个数字(“1-4”,表示1-4个单位);
  “,” ,分开几个离散的数字;

例子:

每分钟执行 * * * * *
每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *

5 * * * * ls /*指定每小时的第5分钟执行一次ls命令*/ 
30 5 * * * ls /*指定每天的 5:30 执行ls命令*/ 
30 7 8 * * ls /*指定每月8号的7:30分执行ls命令*/ 
50 7 * * * root run-parts /etc/cron.daily /*每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件*/

*/2 8-20 * * * /usr/bin/backup   每天8点到晚上8点間隔2分鐘执行一次

ubuntu系统定时运行 crontab的更多相关文章

  1. Linux Ubuntu系统版本通过Crontab设置定时任务的执行

    Linux Ubuntu系统版本通过Crontab设置定时任务的执行 本文由本人收集网络信息总结而来 特别鸣谢:https://linux.zone/2258 1 crontab 简单介绍以及语法使用 ...

  2. Linux(Ubuntu)系统下使用crontab定期执行任务

    安装cron(Ubuntu系统自带) apt-get install cron 开启crontab日志 默认情况下的日志是没有开启的,我们需要找到 /etc/rsyslog.d/50-default. ...

  3. Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法

    在Ubuntu的某些版本下,比如10.10,会出现以下奇怪问题: 1. 安装jdk 我下载的jdk是bin格式的,直接运行解压,得到一个文件夹. 这个文件夹作为jdk的安装目录,可以拷贝到任意目录. ...

  4. (记录)Ubuntu系统中运行需要导入jar包的Java程序

    在学习Redis的过程中,在学到Redis客户端Jedis的时候,考虑到能不能在ubuntu下用Vim编写Java程序并且能够运行呢? 于是,首先在网上调研了一番用Vim写Java程序的可实现性. 相 ...

  5. 给Ubuntu系统清理垃圾

    原文地址:https://blog.csdn.net/levon2018/article/details/81746613 1.清理下载的软件包  不过与你想象的可能有很大的不同,Ubuntu系统在运 ...

  6. 【转】crontab命令 脚本定时运行

    一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cro ...

  7. Houdini 13在Ubuntu系统下流畅运行、不崩溃

    至尊影视特效软件Houdini FX,当前最新版是13.0.547,经过试用在Ubuntu系统下可以完美运行,目前为止还没出现过崩溃的情况,之前在windows下使用Houdini 13简直就是噩梦, ...

  8. Windows系统中设置Python程序定时运行方法

    Windows系统中设置Python程序定时运行方法 一.环境 win7 + Python3.6 二.步骤 1,在Windows开始菜单中搜索“计划任务”,并且点击打开“计划任务”: 2.点击“创建基 ...

  9. 搭建Linux(Ubuntu)系统下的Differential Datalog运行环境

    DDlog is a bottom-up, incremental, in-memory, typed Datalog engine. It is well suited for writing pr ...

随机推荐

  1. LeetCode 57. Insert Interval 插入区间 (C++/Java)

    题目: Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if nec ...

  2. IIS6的文件解析漏洞

    IIS6的默认配置漏洞会把cer.cdx.asa作为asp代码来解析 后缀解析漏洞 /test.asp;.jpg 或者/test.asp:.jpg(此处需抓包修改文件名) IIS6.0 都会把此类后缀 ...

  3. Dijkstra算法(Matlab实现)

    a = [,,,,,,]; % 起点节点 b = [,,,,,,]; % 终点节点 c = [,,,,,,]; % 对应权值 g = digraph(a,b,c); % 创建图 [path,dista ...

  4. linux中 nodejs 安装 sqlite3 出现的问题

    错误代码类似:Error: Cannot find module '/root/QuickNote/node_modules/sqlite3/lib/binding/node-v57-linux-x6 ...

  5. vsto 学习

    Object到String类型转换的四种方式 通常object到string有四种方式:(假设有object obj) obj.ToString, Convert.ToString, (string) ...

  6. java 和js 时间 格式化(yyyy-MM-dd HH:mm:ss) 以及获取当前时间

    1.js var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970 ...

  7. C++->10.3.6.设有两个按升序排列的二进制文件a和b,将他们合并成一个新的升序二进制数据文件file。

    #include<iostream.h> #include<stdlib.h> #include<string.h> #include<fstream.h&g ...

  8. MyEclipse+Tamcat配置

    (尊重劳动成果,转载请注明出处:http://blog.csdn.NET/qq_25827845/article/details/53982209 冷血之心的博客) 一.Tomcat 1 Tomcat ...

  9. tensorflow高阶操作

    本篇内容有:如何根据坐标有目的的选择(where).如何根据坐标有目的的更新(scatter_nd).如何生成一个坐标系() 1.where where针对的tensor是一个bool类型的tenso ...

  10. 安装Docker到Ubuntu(APT)

    运行环境 系统版本:Ubuntu 16.04.5 LTS 软件版本:Docker-CE-18.09.5 硬件配置:无 安装过程 1.卸载旧版本 root@ubuntu:~# sudo apt-get ...