博客
关于我
linux定时任务
阅读量:447 次
发布时间:2019-03-06

本文共 1274 字,大约阅读时间需要 4 分钟。

crontab 指令

crontab 是一个在 Unix 系统中用于配置自动任务调度的强大工具。它允许用户在特定时间执行脚本或命令。以下是 crontab 的基本用法和常见示例。


1. 启用 crontab

首先,使用 crontab -e 打开或创建 crontab 文件。文件不存在时,crontab 会自动创建一个新的文件。

crontab -e

2. crontab 文件格式

crontab 文件中的每一行表示一个定时任务。每一行的格式如下:

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
  • minute:0 - 59(分钟)
  • hour:0 - 23(小时)
  • day-of-month:0 - 31(月份中的天数)
  • month:1 - 12(月份,1 为1月,12 为12月)
  • day-of-week:0 - 7(星期,0 或 7 为周日)
  • full-path-to-shell-script:脚本的完整路径和文件名

3. 常用 crontab 选项

  • -l:显示当前用户的 crontab 文件。

    crontab -l
  • -r:删除当前用户的 crontab 文件。

    crontab -r
  • -i:提示删除 crontab 文件时,需要确认操作。

    crontab -i
  • -e:编辑当前用户的 crontab 文件(默认选项)。


4. crontab 文件中的示例

文件中的每一行表示一个任务。以下是常见的格式示例:

  • 每隔5分钟运行脚本

    */5 * * * * /root/usercnt.sh
    • */5 表示每5分钟执行一次。
    • * 表示所有值(分钟、小时、天、月、星期)。
  • 在指定文件夹中查找并删除3天前的文件

    0 0 * * * /home/xxx/del-files-3-days-ago.sh
    • 任务在每天的零点零分运行。

    • 脚本内容示例:

    #!/bin/bashfind /home/xxx/files -mtime +3 -name "*" -exec rm -rf {} ;

    - `-mtime +3`:表示3天前的文件。- `;`:用于将 find 指令传递给 shell。

5. 实际应用示例

例子 1:每天凌晨删除三天前的数据

crontab 写法:

0 0 * * * /home/wb.luozixi/del-files-3-days-ago.sh
  • 每天的零点零分执行脚本 del-files-3-days-ago.sh
  • 脚本功能:删除 /home/wb.luozixi/files 目录中三天前的所有文件。

脚本内容:

#!/bin/bashfind /home/xxx/files -mtime +3 -name "*" -exec rm -rf {} \;
  • find 指令用于查找指定目录中3天前的文件。
  • rm -rf 用于递归删除找到的文件。

通过以上方法,您可以轻松配置自动化任务,提升工作效率。

转载地址:http://wulyz.baihongyu.com/

你可能感兴趣的文章
Qt笔记——QLable+QPixmap图片缩放踩坑
查看>>
Qt笔记——foreach与forever
查看>>
QT程序怎么挪到Linux下,linux+Qt程序如何打包发布
查看>>
Qt知识:视图框架QGraphicsWidget详解
查看>>
SpringBoot中项目启动及定时任务缓存数据库常用数据至内存变量并转换后高频调用
查看>>
Qt知识: 画刷风格
查看>>
QT的OpenGL渲染窗QOpenGLWidget Class
查看>>
QT的C++程序加载动态链接库DLL(Linux下是so)的方式
查看>>
QT界面操作1:如何跟踪鼠标位置?
查看>>
Qt环境搭建(Visual Studio)
查看>>
QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)...
查看>>
QT样式表——url路径
查看>>
QT数据库(三):QSqlQuery使用
查看>>
QT教程5:消息框
查看>>
SpringBoot中集成阿里开源缓存访问框架JetCache实现声明式实例和方法缓存
查看>>
pom.xml中提示web.xml is missing and <failonmissingw>...
查看>>
Pomelo开发中Web客户端开发API简介
查看>>
QT教程2:QT5的体系构架
查看>>
PON架构(全光网络)
查看>>
PoolingHttpClientConnectionManager原理剖析
查看>>