linux 定时任务

一  .sh的方法

1 .给你项目中要执行定时任务的写好API接口

2. 在你的项目中创建一个以 .sh结尾的文件。 eg: start.sh

3 给这个 .sh文件足够的权限 eg:chmod -R 777 start.php

4. 写定时任务:使用命令 crontab -e 打开之后写入

eg: 每分钟执行  */1 * * * * 你的.sh得文件绝对路径  >/dev/null 2>$1

(可以使用crontab -l 检查有哪些定时任务)

5 重启crond 命令 service crond restart

重启成功 然后你的定时任务就做好了

二 . 直接在crontab -e中 定时访问你写好的项目的接口

eg : */1 * * * * /usr/local/curl(你自己的curl路径) http://baidu.com(你的项目接口)

三 . 补充内容:定时任务创建的日志文件权限不够,被禁止写入时

        有时候我们的定时任务中会执行向日志文件添加记录的操作,一般加了这种操作之后,你的定时任务是由那个账号管理的,那么这个日志文件就是由谁创建的。多数时候,我们的crontab 都是使用root 账户创建的;那么我们的日志文件相同也就是由 root 用户创建的; 

这时候我们的代码一般是由nginx或者apache来运行的,若是通过代码再向日志文件内写入信息就一定会报错,显示权限不够

这时候我们其中一个解决方法就是:

        给定时任务指定执行用户

以下用nginx为例:

        1.使用 vi nginx.conf 文件是由那个用户运行的 从下图可以看出执行的用户是 nginx

 2. 我们将定时任务指定给 nginx 执行

使用命令 crontab -e -u nginx 打开文件,再将自己的定时任务编辑进去

后期查看由 nginx用户执行的定时任务,可以使用  crontab -l -u nginx;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值