Linux crontab 命令格式与详细例子



Linux crontab 命令格式与详细例子

标签: linuxapacheuserdatefileshell
235962人阅读 评论(17) 收藏 举报  http://blog.youkuaiyun.com/ethanzhao/article/details/4406017
本文章已收录于:
分类:

基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache

 

名称 : crontab

使用权限 : 所有使用者

使用方式 :

crontab file [-u user]-用指定的文件替代目前的crontab。

crontab-[-u user]-用标准输入替代目前的crontab.

crontab-1[user]-列出用户目前的crontab.

crontab-e[user]-编辑用户目前的crontab.

crontab-d[user]-删除用户目前的crontab.

crontab-c dir- 指定crontab的目录。

crontab文件的格式:M H D m d cmd.

 

M: 分钟(0-59)。

H:小时(0-23)。

D:天(1-31)。

m: 月(1-12)。

d: 一星期内的天(0~6,0为星期天)。

cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量

说明 :

crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定

user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设

定自己的时程表。

 

 

参数 :

crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数

来指定使用那个文字编辑器(比如说 setenv VISUAL joe)

crontab -r : 删除目前的时程表

crontab -l : 列出目前的时程表

crontab file [-u user]-用指定的文件替代目前的crontab。

时程表的格式如下 :

f1 f2 f3 f4 f5 program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执

行的程序。

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推

当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推

使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。

例子 :

#每天早上7点执行一次 /bin/ls :

0 7 * * * /bin/ls

在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :

0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 alex@domain.name :

0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"

20 0-23/2 * * * echo "haha"

注意 :

当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之

后加上 > /dev/null 2>&1 即可

 

例子2 :

#每天早上6点10分

10 6 * * * date

#每两个小时

0 */2 * * * date

#晚上11点到早上8点之间每两个小时,早上8点

0 23-7/2,8 * * * date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * mon-wed date

#1月份日早上4点

0 4 1 jan * date

范例

$crontab -l 列出用户目前的crontab.

C语言-光伏MPPT算法:电导增量法扰动观察法+自动全局搜索Plecs最大功率跟踪算法仿真内容概要:本文档主要介绍了一种基于C语言实现的光伏最大功率点跟踪(MPPT)算法,结合电导增量法扰动观察法,并引入自动全局搜索策略,利用Plecs仿真工具对算法进行建模仿真验证。文档重点阐述了两种经典MPPT算法的原理、优缺点及其在不同光照和温度条件下的动态响应特性,同时提出一种改进的复合控制策略以提升系统在复杂环境下的跟踪精度稳定性。通过仿真结果对比分析,验证了所提方法在快速性和准确性方面的优势,适用于光伏发电系统的高效能量转换控制。; 适合人群:具备一定C语言编程基础和电力电子知识背景,从事光伏系统开发、嵌入式控制或新能源技术研发的工程师及高校研究人员;工作年限1-3年的初级至中级研发人员尤为适合。; 使用场景及目标:①掌握电导增量法扰动观察法在实际光伏系统中的实现机制切换逻辑;②学习如何在Plecs中搭建MPPT控制系统仿真模型;③实现自动全局搜索以避免传统算法陷入局部峰值问题,提升复杂工况下的最大功率追踪效率;④为光伏逆变器或太阳能充电控制器的算法开发提供技术参考实现范例。; 阅读建议:建议读者结合文中提供的C语言算法逻辑Plecs仿真模型同步学习,重点关注算法判断条件、步长调节策略及仿真参数设置。在理解基本原理的基础上,可通过修改光照强度、温度变化曲线等外部扰动因素,进一步测试算法鲁棒性,并尝试将其移植到实际嵌入式平台进行实验验证。
【无人机协同】动态环境下多无人机系统的协同路径规划防撞研究(Matlab代码实现)​ 内容概要:本文围绕动态环境下多无人机系统的协同路径规划防撞问题展开研究,提出基于Matlab的仿真代码实现方案。研究重点在于在复杂、动态环境中实现多无人机之间的高效协同飞行避障,涵盖路径规划算法的设计优化,确保无人机集群在执行任务过程中能够实时规避静态障碍物动态冲突,保障飞行安全性任务效率。文中结合智能优化算法,构建合理的成本目标函数(如路径长度、飞行高度、威胁规避、转弯角度等),并通过Matlab平台进行算法验证仿真分析,展示多机协同的可行性有效性。; 适合人群:具备一定Matlab编程基础,从事无人机控制、路径规划、智能优化算法研究的科研人员及研究生。; 使用场景及目标:①应用于灾害救援、军事侦察、区域巡检等多无人机协同任务场景;②目标是掌握多无人机系统在动态环境下的路径规划防撞机制,提升协同作业能力自主决策水平;③通过Matlab仿真深入理解协同算法的实现逻辑参数调优方法。; 阅读建议:建议结合文中提供的Matlab代码进行实践操作,重点关注目标函数设计、避障策略实现多机协同逻辑,配合仿真结果分析算法性能,进一步可尝试引入新型智能算法进行优化改进。
先展示下效果 https://pan.quark.cn/s/a4b39357ea24 StudentInfo 基于SSM的学生信息管理系统(选课) 已停更 项目简介: 由SpringMVC+MyBatis为主要框架,mysql8.0配置主从复制实现读写分离,主机丛机分别为腾讯云的服务器,而项目部署在阿里云上。 前端主要由bootstrap完成,背景用particles.js插件。 数据库交互查询用到pagehelper分页。 在添加修改相关功能时通过ajax来验证其主键是否存在可用。 代码层次清晰,输入框约束较高,已配置登录拦截。 一、应用技术 #### 工具:eclipse、navicat 环境:JDK1.8、tomcat9.0、mysql8.0 前端:JavaScript、jQuery、bootstrap4、particles.js 后端:maven、SpringMVC、MyBatis、ajax、mysql读写分离、mybatis分页 二、功能 #### 这是在上个springmvc选课系统的基础上进行修改完善的,目前功能基本相同,修复诸多bug,上个系统中有详细介绍:B/S基于springMVC的网上选课系统 主要功能模块图: 新增: 增加分页查询 输入框约束 学号、身份证、课程编号、教师编号只能输入数字,并且有最大输入限制,其中学号固定12位,若小于12位将会有提示。 姓名只能输入中文。 几乎所有输入框不能输入空格等约束 下拉框联动 添加、修改课程采用二级联动,即所属系别——所属专业; 添加、修改学生采用三级联动,即系别——专业——班级。 (三级联动代码有些复杂,因为JavaScript学的不好=-=)。 ajax+springmvc验证 用于验证学号、课程编号、教师...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值