当前位置:网站首页>crontab的定时操作
crontab的定时操作
2022-07-31 05:16:00 【xp_fangfei】
crontab 介绍
Linux crontab 是用来定期执行程序的命令。
当安装完成操作系统之后,默认便会启动此任务调度命令。
crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行。
而 linux 任务调度的工作主要分为以下两类:
- 系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
- 个人执行的工作:某个用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置
crontab 格式说明

在以上各个字段中,还可以使用以下特殊字符:
- "* "代表所有的取值范围内的数字,如月份字段为*,则表示1到12个月;
- "/"代表每一定时间间隔的意思,如分钟字段为*/10,表示每10分钟执行1次。
- "-"代表从某个区间范围,是闭区间。如“2-5”表示“2,3,4,5”,小时字段中0-23/2表示在0~23点范围内每2个小时执行一次。
- ","分散的数字(不一定连续),如1,2,3,4,7,9。
注:由于各个地方每周第一天不一样,因此Sunday=0(第一天)或Sunday=7(最后1天)。
crontab 语法
crontab [ -u user ] file
或
crontab [ -u user ] {
-l | -r | -e }
参数说明:
-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表
实例1
//每一分钟执行一次 /bin/ls:
* * * * * /bin/ls
//在 12 月内, 每天的早上 6 点到 12 点,每隔 3 个小时 0 分钟执行一次 /usr/bin/backup:
0 6-12/3 * 12 * /usr/bin/backup
//周一到周五每天下午 5:00 寄一封信给 [email protected]:
0 17 * * 1-5 mail -s "hi" [email protected].name < /tmp/maildata
实际配置
以自己电脑为例:
crontab -e
结果:
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
在文件最后写入自己想要执行的操作
54 21 * * * rm -r /home/ubuntu/log #每天晚上九点54删除日志
注意:第一次进行编辑的时候会选一下编辑器,根据自己的情况选择即可
实例2
1.删除文件命令:
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {
} \;
实例命令:
find /export/Logs/ -mtime +2 -name "*.log" -exec rm -rf {
} \;
#将/export/Logs/目录下所有2天前带".log"的文件全部删除。
find /export/log/ -mtime +2 -name "*.20*.log" -exec rm -rf {
} \;
#将/export/Logs/目录下所有2天前带*.20*.log的文件全部删除。
具体参数说明如下:
- find:linux的查找命令,用户查找指定条件的文件;
- /export/Logs/:想要进行清理的任意目录;
- -mtime:标准语句写法;
- +2:查找2天前的文件,这里用数字代表天数;
- “.log"、".20*.log”:希望查找的数据类型,".log"表示查找扩展名为log的所有文件,""表示查找所有文件,以此类推,灵活使用
- -exec:固定写法;
- rm -rf:强制删除文件,包括目录;
- {} \ ; :固定写法,一对大括号+空格+\ ;
边栏推荐
- Web Screenshots and Reverse Proxy
- 微信小程序启动优化
- Android software security and reverse analysis reading notes
- [swagger close] The production environment closes the swagger method
- After unicloud is released, the applet prompts that the connection to the local debugging service failed. Please check whether the client and the host are under the same local area network.
- The feign call fails, JSON parse error Illegal character ((CTRL-CHAR, code 31)) only regular white space (r
- 为什么bash中的read要配合while才能读取/dev/stdin的内容
- Flow control statement in js
- Pure shell implementation of text replacement
- 理解js运算符
猜你喜欢
随机推荐
powershell statistics folder size
cocos2d-x-3.2 不能混合颜色修改
场效应管 | N-mos内部结构详解
js中流程控制语句
softmax函数详解
function in js
break and continue exit in js
sqlite 查看表结构 android.database.sqlite.SQLiteException: table splitTable has no column named
jenkins +miniprogram-ci 一键上传微信小程序
计算图像数据集均值和方差
cocos2d-x-3.2 create project method
cocos2d-x-3.x 修改和纪录
多元线性回归方程原理及其推导
VS connects to MYSQL through ODBC (1)
kotlin 插件更新到1.3.21
TransactionTemplate 事务编程式写法
[Cloud native] Simple introduction and use of microservice Nacos
活体检测CDCN学习笔记
YOLOX中的SimOTA
quick-3.5 无法使用模拟器修改









