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

你可能感兴趣的文章
NOIP2011T1 数字反转
查看>>
NOIP2014 提高组 Day2——寻找道路
查看>>
noip借教室 题解
查看>>
NOIP模拟测试19
查看>>
NOIp模拟赛二十九
查看>>
Vue3+element plus+sortablejs实现table列表拖拽
查看>>
Nokia5233手机和我装的几个symbian V5手机软件
查看>>
non linear processor
查看>>
Non-final field ‘code‘ in enum StateEnum‘
查看>>
none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
查看>>
None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
查看>>