当前位置:   article > 正文

linux定时执行shell脚本

linux定时执行shell脚本

linux定时执行shell脚本

需求:每分钟检查下文件是否存在

解决思路:

1、编写shell脚本,检查文件是否存在,存在在文件中记录yes,不存在记录no

2、将脚本加入linux定时任务crontab中

编写test.sh

vi test.sh

#!/bin/sh
echo "查找yhh.db 文件是否存在?"
if[ -f "/opt/yhh.db"]:then
echo $(date + %F%n%T) 文件存在-yes >> /opt/yhh.txt
else
echo $(date + %F%n%T) 文件不存在-no >> /opt/yhh.txt
fi
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

保存

命令说明

-f 查文件  -e文件或文件夹 
$(date + %F%n%T) 打印年月日时分秒时间格式 
>> 输出到目标文件
  • 1
  • 2
  • 3

授权

chmod 777 test.sh
  • 1

加入定时任务

vim /etc/crontab
  • 1

在这里插入图片描述
保存后执行

#任务生效
crontab /etc/crontab
#接下来等待任务执行
  • 1
  • 2
  • 3

查看任务列表:

crontab -l
  • 1

查看/opt/yhh.txt

脚本执行,加入定时任务成功

在这里插入图片描述

补充

crontab文件格式

(1)语  法:
crontab [-u <用户名称>][配置文件]crontab { -l | -r | -e }
-u   #<用户名称> 是指设定指定<用户名称>的定时任务,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。
     #如果不使用 -u user 的话,就是表示设定自己的定时任务。
-l  #列出该用户的定时任务设置。
-r  #删除该用户的定时任务设置。
-e  #编辑该用户的定时任务设置。
 
(2)命令时间格式 :
*     *    *   *   *  command
分   时   日   月  周   命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/178834
推荐阅读
相关标签
  

闽ICP备14008679号