为了账号安全,请及时绑定邮箱和手机立即绑定

废寝忘食的Crontab

标签:
Linux

概述

什么是crontab呢?

crontab是用于设置周期性执行的任务的工具。该词来源于希腊语 chronos(χρνο),原意是时间。

想象一下,你的工作如果是一个运维人员,你需要每天去对系统进行health check,你需要每天凌晨对过去的一天系统数据进行统计,你需要每周对系统日志进行备份切割,你需要每个月对系统关键数据进行备份,如果这些所有的工作全部用人去完成,那么你还哪有时间泡妞呢,到时候可就真是人傻钱多死的早了,但是有了crontab就不一样了,当你设置好了指令,他会帮你统统的搞定,然后你就可以去酒吧、去夜场、emmm..你懂的..

安装

说明:本次安装演示是在centos下,使用的工具为yum

yum install -y cronie crontabs

检查crontab是否启动命令

systemctl status crond

执行这条命令,如果返回一下说明启动安装并启动成功

5d122e750001196207200125.jpg

可以看到active的状态为running,说明服务正在运行

那如果并未启动呢?执行下面这条命令启动

systemctl restart crond //启动crontab

启动完成用上述命令检查是否启动即可

配置文件

打开配置文件命令

vi /etc/crontab

可以看到一下内容

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin //默认系统环境变量,如果有需要,可以在后面添加
MAILTO=root //代表每触发一个任务都会给root用户发送系统内部邮件,需要保证邮件正常
# 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

解析:

*  *  * *  *  my command 
分 时 日 月 周  要运行的命令

/代表每 例如 */1 每分钟
- 代表数字的区间,例如 1-10
, 代表两个数字 例如 1,2

命令:

crontab -l //查看当前所有的命令
crontab -e //编辑命令

问题来了,对于写入对命令保存在哪里呢?

如果是你是root用户,保存地址为:

/var/spool/cron/root

如果你是user_o1用户,保存地址为:

/var/spool/cron/user_o1

额外补充

添加系统级别环境变量文件:

vi /etc/profile
PATH=/usr/local/php/bin/php
export PATH

添加用户级别环境变量

vi /root/.bash_profile
PATH=$HOME/bin:/usr/local/php/bin/php
export PATH

本文章到现在只是简单的讲解crontab,后续本文章会继续添加维护,请关注本专栏,获取更新。


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
2
获赞与收藏
12

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消