当前位置: 首页 > 编程日记 > 正文

Ubuntu定时任务crontab命令介绍

通过Linux上的crontab命令,我们可以在规定的间隔时间执行指定的系统指令或脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。

crontab默认在Ubuntu上是已经安装的,若未安装,则可执行以下命令进行安装:

sudo apt-get install cron

cron服务(守护进程)在系统后台运行,并且会持续地检查/etc/crontab文件和/etc/cron.*/目录,也同样会检查/var/spool/cron/目录。每个用户都可以拥有自己的crontab文件,这些文件都位于/var/spool/cron/crontabs目录中,不可以直接编辑它们,需要通过crontab命令来编辑或配置自己的定时任务。/etc/crontab是系统的crontab文件,通常只被root用户或守护进程用于配置系统级别的任务。

crontab配件文件分为两种不同的类型:

(1). 系统级crontab:此类型通常由那些需要root或类似权限的系统服务和重要任务是要;

(2). 用户的crontab:用户可以使用crontab命令来安装属于他们自己的定时任务。

crontab常用命令参数介绍:

# 编辑某个用户的crontab文件内容,如果不指定用户,则表示编辑当前用户的crontab文件
crontab -e
# 显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容
crontab -l
# 从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件
crontab -r
# 在删除用户的crontab文件时给确认提示
crontab -i # crontab -ir

crontab文件格式:第1列:分钟(minute),取值范围0~59;第2列:小时(hour),取值范围0~23;第3列:日(day),取值范围1~31;第4列:月(month),取值范围1~12;第5列:星期(week),取值范围0~7,这里的0或7代表星期日;第6列:要运行的命令(command)。前5列用空格分开,是设定时间的。

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

“*”:指定取值范围内的所有可能的值,如在小时中,一个星号等同于每个小时;

“,”:指定多个值的列表,如1,5,10;

“-”:指定一个值的范围,如1-5等同于1,2,3,4,5;

“/”:指定一个时间的间隔频率,如在小时中,*/2,表示每2小时执行一次

crontab文件中的每一行都代表一项任务。

crontab服务管理命令:

sudo service cron status # 查看crontab服务状态
sudo service cron start # 启动crontab服务
sudo service cron stop # 关闭crontab服务
sudo service cron restart # 重启crontab服务
sduo service cron reload # 重新载入crontab配置

示例:首先执行:$ crontab -e ,编辑crontab文件,内容如下图所示,保存:

test.py内容如下:

import datetimeprint("now time:",datetime.datetime.now())

然后执行:$ sudo service cron restart ,过几分钟后info.txt文件的内容如下:

最后取消crontab任务,执行: $ crontab -ri ,执行结果如下图所示,下图中的上半部分显示的结果是在执行crontab -ri前先执行crontab -l输出的结果:

相关文章:

swift 进入后台或者点击home键是程序进入后台后,持续定位

进入后台的方法 import UIKit UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate,CLLocationManagerDelegate { var locationManager : CLLocationManager? var window: UIWindow? var notificationDict NSDictionary() func applicationDidEnterBa…

求助:我有一辆机器人小车,怎么让它跑起来,还会避障、目标跟踪、路径规划?...

也许,你曾见过能灵活地绕开障碍物的它在桌子边缘“疯狂试探”的它它是谁?没错,它就是是英伟达推出的一款入门级人工智能小车——Jetbot ,估计对机器人,尤其是对车械感兴趣的朋友们一定对它不陌生。组装完成后能够通过摄…

Python-常用字符串转换实例

当字符串是:\u4e2d\u56fd >>>s[\u4e2d\u56fd,\u6e05\u534e\u5927\u5b66]>>>strs[0].decode(unicode_escape) #.encode("EUC_KR")>>>print str 中国 当字符串是: >>>print unichr(19996) 东 ord()支持unicode&…

什么是静态UItableView

iOS开发UI篇—简单介绍静态单元格的使用 iOS开发UI篇—简单介绍静态单元格的使用 一、实现效果与说明 说明:观察上面的展示效果,可以发现整个界面是由一个tableview来展示的,上面的数据都是固定的,且几乎不会改变。 要完成上面的…

Python3中PyMongo使用举例

MongoDB是一个基于分布式文件存储的开源数据库,由C语言编写,与平台无关,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富,最像关…

PyTorch踩过的12坑 | CSDN博文精选

作者 | hyk_1996 来源 | CSDN博客1. nn.Module.cuda() 和 Tensor.cuda() 的作用效果差异无论是对于模型还是数据,cuda()函数都能实现从CPU到GPU的内存迁移,但是他们的作用效果有所不同。对于nn.Module:model model.cuda() model.cuda() 上面两句能够达到…

解决ubuntu14.04下Qt 5.3.1下的QtCreator fcitx,ibus不能输入中文

2019独角兽企业重金招聘Python工程师标准>>> ubuntu 14.04从Qt官网下载的最新版qt,安装过程很顺利,但却发现没办法输入中文(我用的是 fcitx), 即使下载了fcitx-frontend-qt5和fcitx-frontend-qt4也还是没用。 想必是qt版本的原因吧…

实战:基于技术分析的Python算法交易

译者 | Tianyu 出品 | AI科技大本营(ID:rgznai100)本文是用 Python 做交易策略回测系列文章的第四篇。上个部分介绍了以下几个方面内容:介绍了 zipline 回测框架,并展示了如何回测基本的策略导入自定义的数据并使用 zipline评估交…

深度学习中的Dropout简介及实现

在训练神经网络模型时候,如果模型相对复杂即参数较多而训练样本相对较少,这时候训练出的模型可能对训练集中的数据拟合的比较好,但在测试集上的表现较差,即出现了过拟合的情况。这种情况下可以使用Dropout来降低过拟合的可能性进而…

swift中字符串截取方法(substring)

下面介绍2种swift的字符串截取方法,实际上用到了substringFromIndex,substringToIndex,substringWithRange 1.将String转化为NSString再截取,代码如下: var s"1234567890"var ns1(s as NSString).substringFromIndex(5) var ns2(s as NSString).substrin…

设置IE兼容模式

文件兼容性用于定义让IE如何编译你的网页。此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式。 前言 为了帮助确保你的网页在所有未来的IE版本都有一致的外观,IE8引入了文件兼容性。在IE6中引入一个增设的兼容…

程序员的自我修养--链接、装载与库笔记:静态链接

1. 空间与地址分配 对于链接器来说,整个链接过程中,它就是将几个输入目标文件加工后合并成一个输出文件。测试代码a.c和b.c内容如下: // a.c extern int shared;int main() {int a 100;swap(&a, &shared); } // b.c int shared 1;void swap(int* a, in…

开启JAVA自学新篇章

MyEclipse Enterprise Workbench简称MyEclipse,是一款专门用于开发Java, J2EE的 Eclipse 插件集合,该软件不仅功能丰富而且强大,包括了完备的编码、调试、测试和发布功能,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序…

12306系统的秒杀“艺术”:如何抗住100万人同时抢1万张票?

作者 | IT牧场 编辑 | 阿秃每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题——抢火车票。虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 1230…

C#不错的扩展工具类

FSLibExtension.NET https://github.com/iccfish/FSLib.Extension WebEssentials2013 https://github.com/iccfish/WebEssentials2013

自己写的程序密码功能 ------数字功能

自己写的程序密码功能 ------数字功能 class LockedViewController: UIViewController { var dataBase:FMDatabase? var i 0 var passwordStr : String? var tempStr : String "" var numStr : String "" //初始输入密码 var reNumStr : String &…

程序员的自我修养--链接、装载与库笔记:Windows PE/COFF

1. Windows的二进制文件格式PE/COFF 在32位Windows平台下,微软引入了一种叫PE(Portable Executable)的可执行格式。作为Win32平台的标准可执行文件格式,PE有着跟ELF一样良好的平台扩展性和灵活性。PE文件格式事实上与ELF同根同源,它们都是由…

神州数码与神州控股、神州信息共同主办首届技术年会,透露出什么信号?

11 月 8 日,神州控股、神州数码集团、神州信息共同主办“数字中国 2019 技术年会”,聚焦云计算、大数据、人工智能、区块链、5G 等前沿技术创新与应用实践,众多领域的技术专家展开了深度交流,共同探讨数字时代的技术创新与协同发展…

osi七层协议和tcp/ip四层协议

(大部分内容为转载)OSI(Open System Interconnection)是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范,共包含七层协议。OSI七层协议是由ISO (International Standards Organization)在…

Swift中页面跳转与传值:

1.简单方式 首先,Swift的跳转可分为利用xib文件跳转与storyboard跳转两种方法,我这里选择使用storyboard的界面跳转方法。 1、通过在storyboard中拉button控件建立segue跳转。 2、通过presentViewController方法进行界面跳转。 这里需要注意presentV…

知乎热议!学完Python之后,我的编程能力竟然退化了!

在知乎上有一个特别火的问题:如何学Python?你会看到很多高赞回答是:我一天就学完了。在大家群嘲的背后,我们来分析一下,为什么在已经学过的人眼里,Python这么容易学,甚至简单到被某些人鄙视呢&a…

libjpeg-turbo介绍及测试代码

很多年之前在https://blog.csdn.net/fengbingchun/article/details/10171583 中简单介绍过libjpeg-turbo的安装,因为libjpeg-turbo一直在维护更新,较之前有了些变化,这里再次整理下,并增加更多的测试代码。 libjpeg-turbo的主页为…

高级特性-多线程,GUI

2019独角兽企业重金招聘Python工程师标准>>> 创建线程两种方式第一种,导入improt thread 模块,thread.start_new_thread(功能函数名称,(参数1,参数2...)) 后面参数为功能函数的参数第二个方式类似于java,导…

Hulu视频如何提升推荐多样性?

作者 | 余沾 整理 | 深度传送门(ID: deep_deliver)导读:本文主要介绍Hulu在NIPS 2018上发表的《Fast Greedy MAP Inference for Determinantal Point Process to Improve Recommendation Diversity》中,提出的DPP算法解决视频推荐…

UITextField长度限制的写法

1.遵循代理 UITextFieldDelegate 2.点击响应方法 userNameText.addTarget(self, action: "tappedOne:", forControlEvents: UIControlEvents.EditingChanged) 3.方法的实现 func tappedOne(textField: UITextField) { textField.text textField.text?.uppercaseS…

通过Python在Windows或Linux上快速搭建HTTP服务器

在Windows 7/10或Ubuntu上可以通过python2.x或python3.x来快速搭建一个简单的HTTP服务器。 如果python为2.x,则可执行:$ python -m SimpleHTTPServer 或 $ python2 -m SimpleHTTPServer 如果python为3.x,则可执行:$ python -m h…

NAND FLASH

NAND Flash 以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用。 1. 概述 MT29F2G08使用一个高度复用的8-bit总线(I/O[7:0])来数据传输、地址、指令。5个命令脚(CLE、ALE、CE#、WE#)实现NAND命令总线接口规程。3个…

swift 中跳转web view的两种方法

首先 遵循代理 引入头文件 #import <WebKit/WebKit.h> 第一种情况 直接跳转 了解不含特殊字符的 import UIKit class NewsViewController: UIViewController,WKNavigationDelegate,UIScrollViewDelegate { var webView : WKWebView WKWebView() override func viewW…

YAML开源库yaml-cpp简介及使用

关于YAML的介绍可以参考&#xff1a;https://blog.csdn.net/fengbingchun/article/details/88090609 yaml-cpp是用c实现的用来解析和生成yaml文件的&#xff0c;源码地址在https://github.com/jbeder/yaml-cpp &#xff0c;这里使用的是最新发布的稳定版0.6.2. 解析和产生yam…

数据安全引担忧?get它,让你吃一颗“定心丸”

网络购物、在线外卖、远程教育、共享单车……如今&#xff0c;这些数字化的消费场景在个人生活中早已司空见惯。同时&#xff0c;在数字化浪潮下&#xff0c;越来越多的企业意识到大数据资产的价值&#xff0c;并试图推动其数字化转型。数据经济飞速发展&#xff0c;带来便捷和…