ubuntu系统定时运行 crontab
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的更多相关文章
- Linux Ubuntu系统版本通过Crontab设置定时任务的执行
Linux Ubuntu系统版本通过Crontab设置定时任务的执行 本文由本人收集网络信息总结而来 特别鸣谢:https://linux.zone/2258 1 crontab 简单介绍以及语法使用 ...
- Linux(Ubuntu)系统下使用crontab定期执行任务
安装cron(Ubuntu系统自带) apt-get install cron 开启crontab日志 默认情况下的日志是没有开启的,我们需要找到 /etc/rsyslog.d/50-default. ...
- Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法
在Ubuntu的某些版本下,比如10.10,会出现以下奇怪问题: 1. 安装jdk 我下载的jdk是bin格式的,直接运行解压,得到一个文件夹. 这个文件夹作为jdk的安装目录,可以拷贝到任意目录. ...
- (记录)Ubuntu系统中运行需要导入jar包的Java程序
在学习Redis的过程中,在学到Redis客户端Jedis的时候,考虑到能不能在ubuntu下用Vim编写Java程序并且能够运行呢? 于是,首先在网上调研了一番用Vim写Java程序的可实现性. 相 ...
- 给Ubuntu系统清理垃圾
原文地址:https://blog.csdn.net/levon2018/article/details/81746613 1.清理下载的软件包 不过与你想象的可能有很大的不同,Ubuntu系统在运 ...
- 【转】crontab命令 脚本定时运行
一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cro ...
- Houdini 13在Ubuntu系统下流畅运行、不崩溃
至尊影视特效软件Houdini FX,当前最新版是13.0.547,经过试用在Ubuntu系统下可以完美运行,目前为止还没出现过崩溃的情况,之前在windows下使用Houdini 13简直就是噩梦, ...
- Windows系统中设置Python程序定时运行方法
Windows系统中设置Python程序定时运行方法 一.环境 win7 + Python3.6 二.步骤 1,在Windows开始菜单中搜索“计划任务”,并且点击打开“计划任务”: 2.点击“创建基 ...
- 搭建Linux(Ubuntu)系统下的Differential Datalog运行环境
DDlog is a bottom-up, incremental, in-memory, typed Datalog engine. It is well suited for writing pr ...
随机推荐
- LeetCode 57. Insert Interval 插入区间 (C++/Java)
题目: Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if nec ...
- IIS6的文件解析漏洞
IIS6的默认配置漏洞会把cer.cdx.asa作为asp代码来解析 后缀解析漏洞 /test.asp;.jpg 或者/test.asp:.jpg(此处需抓包修改文件名) IIS6.0 都会把此类后缀 ...
- Dijkstra算法(Matlab实现)
a = [,,,,,,]; % 起点节点 b = [,,,,,,]; % 终点节点 c = [,,,,,,]; % 对应权值 g = digraph(a,b,c); % 创建图 [path,dista ...
- linux中 nodejs 安装 sqlite3 出现的问题
错误代码类似:Error: Cannot find module '/root/QuickNote/node_modules/sqlite3/lib/binding/node-v57-linux-x6 ...
- vsto 学习
Object到String类型转换的四种方式 通常object到string有四种方式:(假设有object obj) obj.ToString, Convert.ToString, (string) ...
- java 和js 时间 格式化(yyyy-MM-dd HH:mm:ss) 以及获取当前时间
1.js var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970 ...
- C++->10.3.6.设有两个按升序排列的二进制文件a和b,将他们合并成一个新的升序二进制数据文件file。
#include<iostream.h> #include<stdlib.h> #include<string.h> #include<fstream.h&g ...
- MyEclipse+Tamcat配置
(尊重劳动成果,转载请注明出处:http://blog.csdn.NET/qq_25827845/article/details/53982209 冷血之心的博客) 一.Tomcat 1 Tomcat ...
- tensorflow高阶操作
本篇内容有:如何根据坐标有目的的选择(where).如何根据坐标有目的的更新(scatter_nd).如何生成一个坐标系() 1.where where针对的tensor是一个bool类型的tenso ...
- 安装Docker到Ubuntu(APT)
运行环境 系统版本:Ubuntu 16.04.5 LTS 软件版本:Docker-CE-18.09.5 硬件配置:无 安装过程 1.卸载旧版本 root@ubuntu:~# sudo apt-get ...