linux中使用crontab执行定时任务

crontab命令常见于Unix类Unix的操作系统之中,用于设置周期性被执行的指令。

一.crond服务命令

  • 启动服务: /sbin/service crond start
  • 关闭服务: /sbin/service crond stop
  • 重启服务: /sbin/service crond restart
  • 重新载入配置: /sbin/service crond reload

二.crontab操作命令

  • crontab -l //列出某个用户cron服务的详细内容
  • crontab -r //删除某个用户的cron服务
  • crontab -e //编辑某个用户的cron服务

三.cron语法:

每一条定时任务都由以下几个部分组成:
| 分 | 小时 | 日 | 月 | 星期 | 命令 |

0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)

command放脚本文件,这样就能定时执行脚本内容。

四.举个例子

  1. 每分钟写入”123″到固定文件中。
[root@izwz9 ~]# crontab -e //编辑定时任务列表
把以下内容写在文件中 : */1 * * * * echo 123 >> /root/a.txt
退出保存
[root@izwz9 ~]# /sbin/service crond restart //重启

这时候观察/root/a.txt会在一分钟后出现。

  1. 每天凌晨自动重启pm2。
[root@izwz9 ~]# crontab -e //编辑定时任务列表
把以下内容写在文件中 : 0 0 */1 * * /bin/sh /root/restartTask.sh
退出保存
[root@izwz9 ~]# /sbin/service crond restart //重启

/root/restartTask.sh文件中存放脚本内容,内容如下:

#!/bin/bash
source ~/.bashrc
/www/node-v8.10.0-linux-x64/bin/pm2 restart looovoTask

五.总结

有以下几点需要注意:

  • 脚本文件中需要备注脚本类型: #!/bin/bash
  • 脚本文件中需要引入当前的环境变量:source ~/.bashrc
  • 脚本文件中最好都用全局路径,以免找不到对应的程序与文件
  • 每次修改脚本后注意重启
    原文作者:kelvv
    原文地址: https://www.jianshu.com/p/5d08b0c349f7
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞