通过crontab定时执行shell脚本教程

大家好,今天发表一篇比较基础的文章,对于初学者来说应该算是比较简单而且实用的--通过crontab定时执行shell脚本

今天测试了一个elk系统捕获日志信息的功能,发现接口返回的数据与日志来源内容不一致,然后就通过crontab定时执行我的测试脚本(向文件中写数据),看下向指定文件中写入日志,接口能不能读取到

为了完成以上操作,我把过程分享给大家,希望能够帮助到各位老铁

1.首先看下linux系统下是否安装了crontab(一般linux系统自带),如果没有使用yum下载安装即可;

--->输入which crontab,显示安装目录说明系统以及安装

2.准备要执行的脚本文件,我们让它写数据到某个文件中;

--->我给它取名叫test.sh(英文名,哈哈~~),内容如下

--->说明:获取当前系统时间(格式:月 日 时分秒)和节点名,echo后是要写入的内容,到/var/log/messages中

3.给这个test.sh赋予可执行的权限

4.接下来打开crontab的配置文件/etc/crontab ,如下图所示

--->为了有修改文件的权限,我们通过使用sudo vi  /etc/crontab 指令打开文件

--->截图中有参数说明信息和我们要定时执行的脚本路径

--->下图我写的是每小时写一次数据到指定文件中

5.编辑完保存之后,查看下crontab服务是否开启

--->如果没有开启,一定要启动该服务

--->查看状态:service crond status

6.以上工作完成后,我们看下/var/log/messages中是否自动写入了指定的内容

--->vim /var/log/messages

--->中间16:49:36的数据是当时调试接口手动执行的,可忽略~

到此完工,每隔一小时就会自动写数据到指定文件中,应用场景很多很多,我只是举个例子~

 

大家可以根据实际情况去编辑脚本内容就可以了,希望可以帮助到各位~,告辞了~