php - 我这样设置Crontab计划任务可以吗?

 手机用户2502873667 发布于 2022-11-17 23:44

我设置了两条计划任务,都是定时重启服务,如下:

[root@iZ94r80gdghZ tanteng]# crontab -l
# 系统计划任务
* */1 * * * service mariadb restart >> /home/tanteng/crontab.log
* * */1 * * service php70-php-fpm restart >> /home/tanteng/crontab.log

我是直接把命令语句放在定时任务的后面可以吗,这些命令在本机是可以运行的,同时把输出记录到log日志,可是log日志没有任何内容,也不知道这个计划任务生效没有,这样写对不对?

6 个回答
  • 在crontab中使用全路径执行命令

    * */1 * * * /user/lib/user/bin/service mariadb restart >> /home/tanteng/crontab.log
    * * */1 * * /user/lib/user/bin/service php70-php-fpm restart >> /home/tanteng/crontab.log
    2022-11-18 01:31 回答
  • 1L基本上都说到了。
    我也说几点:

    1.直接先测试命令,看是否能使用,例如你上面的:service mariadb restart >> /home/tanteng/crontab.log
    2.把命令调到 * * * * * 每分钟先做一个测试,可以的话,再修改命令。
    
    
    2022-11-18 01:31 回答
  • 1、通过查看 crontab 日志,看这个两条命令是否执行,(执行不一定成功)
    2、简单判断,通过进程的 pid 判断,是否执行成功,都是 restart 命令,平滑重启之后,pid 是会改变的

    2022-11-18 01:31 回答
  • 查看crontab日志,看它是否已经执行
    星/1 这种写法 多此一举,写星

    2022-11-18 01:31 回答
  • LS说的基本上很全面了

    crontab中,通用或者你不确定的时候,命令直接包装成一个可执行文件,然后直接crontab 可执行文件就可以了

    service命令操作的话,一般mariadb之类的回去找配置文件的,所以实际db的log输出会在配置文件指定的位置

    service xxx restart >> xxx.log ,这个里面xxx.log只是输出是否启动成功之类的很短的信息

    2022-11-18 01:31 回答
  • 两个地方你需要注意的
    1 service命令是否在crontab中可以访问
    2 通过restart的方式,应用产生的日志真的可以记录到指定的文件吗

    第1个问题可以查看/var/log/messages/var/spool/mails/username日志判断
    第2个问题很好解决,直接命令行service mariadb restart > ~/mariadb.log,然后连接数据库,做查询(产生日志),然后查看这个文件,但其实我猜应该是没有的。

    2022-11-18 01:31 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有