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

linux Crontab 使用

cron用法说明

cron的用法老是记不住,索性写下来备忘。下文内容大部分是根据《Cron Help Guide》翻译而来,有些部分是自己加上的。

全文如下:

cron来源于希腊单词chronos(意为“时间”),是linux系统下一个自动执行指定任务的程序。例如,你想在每晚睡觉期间创建某些文件或文件夹的备份,就可以用cron来自动执行。

服务的启动和停止

cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:

/sbin/service crond start
/sbin/service crond stop
/sbin/service crond restart
/sbin/service crond reload

以上1-4行分别为启动、停止、重启服务和重新加载配置。

要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可。

查看、编辑和删除

cron把命令行保存在crontab(cron table)文件里,这个文件通常在 /etc 目录下。每个系统用户都可以有自己的crontab(在 /var/spool/cron/ 下)。要查看当前用户的crontab,输入 crontab -l;要编辑crontab,输入 crontab -e;要删除crontab,输入 crontab -r。如当前是root身份,要查看/编辑/删除/某用户的crontab,只需在相应的命令后加上 -u USERNAME(如 crontab -e -u USERNAME)即可。crontab文件的默认编辑器是vi,可以输入 export VISUAL=’editor’ 更改默认编辑器。

cron服务每分钟不仅要读一次 /var/spool/cron 目录内的所有文件,还需要读一次 /etc/crontab 文件。配置这个文件也能让cron执行任务。使用crontab命令是对用户级任务的配置,而编辑 /etc/crontab 文件是对系统级任务的配置。

语法说明

以下是两个cron语句的例子(在 /etc/crontab 文件里)。前者用来晚间备份 /etc 目录,后者运行Analog程序处理服务器的统计信息。

12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
52 5 * * * root /usr/local/src/analog-5.32-lh/analog >> /dev/null 2>&1

以下是cron语句中的字段与字段说明:

字段说明
1分钟(0-59)
2小时(2-24)
3日期(1-31)
4月份(1-12;或英文缩写Jan、Feb等)
5周几(0-6,0为周日;或单词缩写Sun、Mon等)
6用户名(执行命令时以此用户的身份)
7要执行的命令(路径)

现在来看第一行:

12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1

这条语句将在每天的凌晨3点12分(03:12)运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。>> /dev/null 2>&1 表示把所有标准输出发送到 /dev/null(linux的回收站),把标准错误输出(2)发送到和标准输出(1)同样的地方(即 /dev/null)。运行这行命令将不会产生任何输出。

这条语句可以变得稍微复杂一点:

30 15 13 6 1 * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1

它将在6月13日周一的15:30运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。

以下语句可以达到同样的效果:

30 15 13 Jun Mon * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1

如果你想以用户joey的身份每小时的第15分钟运行某个程序,可以使用:

15 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1

其中的星号(*)是通配符,表示cron将忽略这个字段。

如果你想每两小时就运行某个程序,可以在小时字段里使用 */2。它将会在2点,4点,6点……22点,24点运行。具体语句如下:

0 */2 * * * joey /usr/bin/somecommand >> /dev/null 2>&1

cron语句中还可以使用逗号(,)来指定多个时间。例如你想在每小时的15分和30分运行某个程序,可以在分钟字段使用 15,30

15,30 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1

如果你想在每月的第一周(即1号到7号)每天的指定时间运行某个程序,可以在日期字段使用 1-7

15,30 */2 1-7 * * joey /usr/bin/somecommand >> /dev/null 2>&1

这条语句将在每月的第1-7日每两小时的15分和30分(02:15,02:30……22: 15,22:30等)运行 /usr/bin/somecommand 命令。

如果你想在每天的16:18执行一个脚本集合,可以把所有要执行的脚本放到一个目录中(如 /home/username/cron),可以使用:

18 16 * * * root run-parts /home/username/cron >> /dev/null 2>&1

如果你想保存某个程序的输出结果, 可以把 >> /dev/null 2>&1 替换为 >> /home/user/somecommand.log 2>&1

总结

  • 查看当前用户的cron配置,使用 crontab -l
  • 编辑当前用户的cron配置,使用 crontab -e
  • 删除当前用户的cron配置,使用 crontab -r
  • 以root身份查看/编辑/删除某用户的cron配置,在命令后加上 -u USERNAME
  • 配置系统级的任务,编辑 /etc/crontab 文件

相关文章:

iOS开发之圆角指定

如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架)。而若要指定某几个角(小于4)为圆角而别的不变时,这种方法就不好用了。…

网友抱怨:「苹果除了每年收我的钱,似乎什么都不想做」

‍‍整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)一直以来,苹果的开发者账号都贵得众所周知。不仅每年都要续费,一年费用甚至比微软和 Google 开发者账号的一次性收费还高:微软 MicroSoft Developer 账号&#x…

PHP最简单写文件记日志当前时间

定义和用法 fopen() 函数打开文件或者 URL。 如果打开失败,本函数返回 FALSE。 语法 fopen(filename,mode,include_path,context)参数描述filename必需。规定要打开的文件或 URL。mode必需。规定要求到该文件/流的访问类型。可能的值见下表。include_path可选。如果…

【MySQL笔记】mysql来源安装/配置步骤和支持中国gbk/gb2312编码配置

不久的学习笔记。分享。我想有很大的帮助谁刚开始学习其他人的 备注:该票据于mysql-5.1.73版本号例如 1. mysql源代码编译/安装步骤 1) 官网下载mysql源代码并解压 2) cd至源代码文件夹。运行 ./configure --prefix/home/slvher/tools/mysql-5.1.73 --with-charset…

预告|开源操作系统年度技术会议

本次会议的主会场设在麒麟软件(北京),由于疫情原因,为尽量减少讲师和参会人员因疫情带来的出行不便,我们同时在北京、上海和深圳设置三个线下交流的分会场。 有部分讲师和圈内大咖将会在三个分会场与大家面对面交流&a…

“智享未来 知行合一”,开为科技AI产品发布会于2月6日召开

届时,开为科技将展示系列装有自研人脸识别算法的人工智能硬件产品,包括人证比对一体机、人脸识别双面闸机、人脸访客广告机等。 过去一年,人工智能的新闻铺天盖地,发展速度之快让人目不暇接,各大巨头纷纷布局&#xf…

linux下history(历史)命令用法详解

如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率。本文将通过实例的方式向你介绍 history 命令的15个用法。1. 使用 HISTTIMEFORMAT 显示时间戳当你从命令行执行 history 命令后,通常只会显示已执…

js获取当前页面的URL信息

2019独角兽企业重金招聘Python工程师标准>>> window.location属性 描述 hash 设置或获取 href 属性中在井号“#”后面的分段。 host 设置或获取 location 或 URL 的 hostname 和 port 号码。 hostname 设置或获取 location 或 URL 的主机名称部分。 href 设置或获取…

超前探秘首个国产元宇宙百度“希壤”:率先实现10万人同屏互动

12月21日,百度发布的首个国产元宇宙产品“希壤”正式开放定向内测,用户凭邀请码可以进入希壤空间进行超前体验。百度方面表示,12月27日“希壤”将面向所有用户开放,届时百度Create 2021(百度AI开发者大会)将…

什么是跨域?怎么解决跨域问题?

什么是跨域? 跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。 所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子&#…

mysql 使用位运算

如果你不知道什么是位运算的话, 那么请你先去看看基础的C语言教程吧。 与运算 a & b , 或运算 a | b , 异或运算 a ^ b ,或者 你也可以将 与运算理解为 法 例如 1|2 3 (12 3) 1|2|4 7 (124 7)将 异…

轻松抓鸡蛋、剪纸、夹芯片,这只“机械爪”堪比人手!

作者 | 学术头条来源 | 学术头条如果机器手能执行与人手一样的功能,那在执行任务时就可拥有高度的灵活性。然而,在保持人手般灵巧度和抓握力等重要功能的同时,开发无需额外驱动部件的集成机器手是一项挑战。因为驱动部件使得这些机器手很难集…

Js_Span 滑动手型鼠标样式

<span style"cursor: pointer;">搜索</span> 为了可以更灵活控制. 使用span布局 加上滑动手型鼠标样式. 配合JS各种自定义按钮样式. ZhLingF W转载于:https://www.cnblogs.com/may26/p/4689219.html

No.6 PHP的基本配置与优化

PHP下载http://www.php.net/downloads.php安装yum -y install libxml2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libxslt-devel gcc gcc-copenssl-develtar xf php-7.2.3.tar.bz2 -C /tmp./configure --prefix/usr/local/php --with-curl --with-freety…

php连接Mysql

<?php echo "This is a test</br>"; echo "asdfasdfadsf"; $mysql_server_name"localhost:3306"; //数据库服务器名称 $mysql_username"root"; // 连接数据库用户名 $mysql_password"rootpass"; // 连…

谁是 2021「IT 圈」年度 C 位?快来报名,彰显你的影响力!

2021年&#xff0c;数字化转型正磅礴兴起&#xff0c;大批传统企业正在拥抱数字化&#xff0c;云计算、大数据、AI、5G应用能力正在变成企业的核心竞争力&#xff1b;核心技术正在崛起&#xff0c;在操作系统、数据库&#xff0c;依靠开源的力量&#xff0c;众多开发者背后的行…

为什么Scrum模式适合软件开发?

2019独角兽企业重金招聘Python工程师标准>>> 摘自基于Visual Studio 2010 进行敏捷/Scrum模式开发 软件行业至今已经有超过40年的历史&#xff0c;很多在软件工程中的管理方法都是在不断摸索中改进而来的。早期的软件行业由于规模有限&#xff0c;绝大多数属于作坊型…

一分钟了解 TCP/IP 模型

原文讲的不是特别细&#xff0c;为了便于理解&#xff0c;我颠倒了顺序。写在开始 我们需要知道协议到底是什么。 在网络上&#xff0c;一个协议对应于管理系统之间如何相互通信的规则。然后我们需要知道什么是协议族。 一个协议族是一系列协同工作的协议的集合。什么是 TCP/IP…

网站流量UV是什么意思?什么是流量UV/PV/IP

雅虎统计基础数据定义PV(访问量)&#xff1a; 即Page View, 即页面浏览量或点击量&#xff0c;用户每次刷新即被计算一次。 UV(独立访客)&#xff1a; 即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。IP(独立IP)&#xf…

摇橹船以“硬科技+人工智能”助推高质量发展

12月13日和14日&#xff0c;2021雷克大会暨智能经济年会在线上成功举办&#xff0c;大会得到了专业观众和行业媒体的广泛关注&#xff0c;全网累计数万人次在线观看直播。 本届大会聚焦产业智能化、智能基础设施、智能产业化和机器人产业发展助力智能经济等议题。专家学者和企…

一句话的设计模式(转)

如题&#xff0c;实际上&#xff0c;我想这是很困难的。 除非——只是为了给自己做一个提醒&#xff0c;能够看一眼就快速回想起该设计模式的种种记忆。 下列是我之前在学习《大话设计模式》时做的笔记总结&#xff0c;当中有部分措辞来自其作者程杰。&#xff08;非常感谢他为…

高性能ORM框架XLinq功能详细介绍

之前简单介绍了XLinq的一些功能&#xff0c;有很多功能都没有提到&#xff0c;现在给XLinq加了一些功能&#xff0c;这次把所有功能都介绍一遍。 设计目标 易用性 在使用一个框架的时候 应该没几个人会喜欢写一大堆的配置文件吧 也应该没几个人会喜欢为了完成一个小功能却需要写…

太好玩了,爬虫、部署API、加小程序,一条龙玩转知乎热榜!

作者 | 周萝卜来源 | 萝卜大杂烩一直想做一个从爬虫到数据处理&#xff0c;到API部署&#xff0c;再到小程序展示的一条龙项目&#xff0c;最近抽了些时间&#xff0c;实现了一个关于知乎热榜的&#xff0c;今天就来分享一下&#xff01;数据爬取首先我们看下需要爬取的知乎热榜…

linux的more 命令

名称&#xff1a;more 使用权限&#xff1a;所有使用者 使用方式&#xff1a;more [-dlfpcsu] [-num] [/pattern] [linenum] [fileNames..] 说明&#xff1a;类似 cat &#xff0c;不过会以一页一页的显示方便使用者逐页阅读&#xff0c;而最基本的指令就是按空白键&#xff08…

20155222卢梓杰 实验三 免杀原理与实践

实验三 免杀原理与实践 1.正确使用msf编码器&#xff0c;msfvenom生成如jar之类的其他文件&#xff0c;veil-evasion&#xff0c;自己利用shellcode编程等免杀工具或技巧 实验步骤如下 1.先对实验二中生成的exe进行检测 65款杀毒软件有36款认为不安全 39款杀毒软件有6款认为不安…

Linux wc命令详解

通常利用Linux的wc命令和其他命令结合来计算行和其他信息。在Linux下用wc进行计数。返回文件的行数、字数、字节数等。看个例子&#xff1a;wc wc1.txt3 5 16 wc1.txt输出信息依次是&#xff1a;行数 字数 字节数 文件名称。再具体点&#xff0c;单个统计。#wc -m filename&…

(剑指Offer)面试题54:表示数值的字符串

题目&#xff1a; 请实现一个函数用来判断字符串是否表示数值&#xff08;包括整数和小数&#xff09;。例如&#xff0c;字符串"100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14"…

「动手学深度学习」在B站火到没谁,加这个免费实操平台,妥妥天花板!

论 AI 圈活菩萨&#xff0c;非李沐老师莫属。前有编写「动手学深度学习」&#xff0c;成就圈内入门经典&#xff0c;后又在B站免费讲斯坦福 AI 课&#xff0c;一则艰深硬核讲论文的视频播放量36万&#xff0c;不少课题组从导师到见习本科生都在追番。如此给劲的分享&#xff0c…

spring-redis-data的一个坑

事故原因&#xff1a; 运维报告redis内存直线上升&#xff0c;然后查询发现都是setrange操作&#xff0c;review代码&#xff0c;没法发现setrange操作 代码如下&#xff1a; redisTemplate.opsForValue().set(groupidxxxResult.getSeriesNo(), JSON.toJSONString(xxxRquestDTO…

Linux如何搜索文件的方法

#whereis 查找已经安装的软件 在Linux上查找某个文件是一件比较麻烦的事情。毕竟在Linux中需要我们使用专用的“查找”命令来寻找在硬盘上的文件。 Linux下的文件表达格式非常复杂&#xff0c;不象WINDOWS,DOS下都是统一的AAAAAAA.BBB格式 那么方便查找&#xff0c;在WINDOWS中…