博客
关于我
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/

你可能感兴趣的文章
Qualitor checkAcesso.php 任意文件上传漏洞复现(CVE-2024-44849)
查看>>
POJ 1182 食物链(并查集拆点)
查看>>
POJ 1185 炮兵阵地 (状态压缩DP)
查看>>
POJ 1195 Mobile phones
查看>>
POJ 1228 Grandpa's Estate (稳定凸包)
查看>>
poj 1236(强连通分量分解模板题)
查看>>
poj 1258 Agri-Net
查看>>
quagga 和 zebos
查看>>
poj 1286 Necklace of Beads
查看>>
POJ 1321 棋盘问题
查看>>
poj 1321(回溯)
查看>>
Qt高级——Qt元对象系统源码解析
查看>>
qt调用vs2008编写的dll动态库(隐式调用)
查看>>
Qt读取注册表默认值
查看>>
poj 1679 判断MST是不是唯一的 (次小生成树)
查看>>
POJ 1703 Find them, Catch them
查看>>
POJ 1703 Find them, Catch them 并查集
查看>>
POJ 1738 An old Stone Game(石子合并)
查看>>
POJ 1740 A New Stone Game(博弈)题解
查看>>
Qt网络编程之实例二POST方式
查看>>