欢迎光临
我们一直在努力

Linux7-利用crontab命令来执行各种定时任务;

在centos7系统中还是向在centos6中一样常利用crontab这个命令来设置用于周期性被执行的指令,该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。

一般在实际操作中,多数情况下一般我们都是用于定时去执行一个SHELL文件,所以我们这里的SHELL文件需要有执行权限才对,如果不确定要执行的SHELL文件是否有执行权限,那就执行下面命令给予执行文件的执行权限。

  • 给予文件/root/text.sh执行权限
chmod +x /root/text.sh
  • 首先打开vi /etc/crontab 定时任务的设置文件
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

设置文件中有详细的格式说明,相信大家就是英语水平一般,也能看个大概,话不多说,继续向下看,我现在项目中常用的几个定时任务的设置方法;

  • 每天0时0点执行分割nginx日志的定时任务
0 0 * * * root /usr/local/nginx/sbin/cut_nginx_logs.sh
#第一个0代表0分,第二个0是0点,后面三个星号,然后需要root的执行权限,后面的路径是脚本文件路径;
  • 每天早8点至晚20点每半小时执行一次定时任务,
*/30 8-20 * * * root /root/it.sh
# */30 代表每30分钟,8-20代表上午8点至晚上20点,后面三个星号,然后需要root的执行权限,后面的路径是脚本文件路径;
  • 每天上午9点执行网站的一个PHP脚本,用来定时发送产品到期邮件
0 9 * * * root curl https://www.qzze.com/crontab/crontab.php
#第一个0代表0分,第二个9是9点,后面三个星号,然后需要root的执行权限,利用curl命令来远程执行php脚本。
  • 每月1日0时0分执行脚本定时任务
0 0 1 * * root /root/qzze.sh
# 第1个0代表0分,第二个0代表0时,第三个数字1代表每月1日,后面2个星号,然后需要root的执行权限,后面的路径是脚本文件路径;

以上是我现在项目中正在用的定时任务,另外定时任务还有好多设置方法,这里我就不一一的写了,大家变通的用就可以了,如果有什么问题,大家可以在文章下面留言,我们一起讨论。

赞(0) 打赏
转载请注明出处:爱编程 » Linux7-利用crontab命令来执行各种定时任务;
分享到: 更多

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

爱编程、一个运维兼程序员的博客!

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏