美文网首页开发经验随笔程序员我用 Linux
技术随笔小技巧--linux的定时任务之mysql comman

技术随笔小技巧--linux的定时任务之mysql comman

作者: 山东大葱哥 | 来源:发表于2017-09-05 09:22 被阅读57次

背景

山东大葱哥写了一个bash脚本,主要内容包括:

  • 连接数据库进行查询
  • 将查询结果生成xls文件
  • 将xls发送给指定邮箱

问题现象

手工执行该脚本一切正常,正常生成了xls文件,山东大葱哥也正常接收到了预期邮件。
于是为了方便,将其加入到了crontab中,设定为每日0点15分执行。奇怪的事情就发生了,每次山东大葱哥收到的邮件都是大小为0字节的xls文件。

问题追踪

后经仔细核查在linux的本地邮箱中找到了错误:

Message  3:
From root@iZ2364j30brZ  Mon Sep  4 14:33:01 2017
Return-Path: <root@iZ2364j30brZ>
Date: Mon, 4 Sep 2017 14:33:01 +0800
From: root@iZ2364j30brZ (Cron Daemon)
To: root@iZ2364j30brZ
Subject: Cron <root@iZ2364j30brZ> /dailyReport/test/auto.sh
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/bash>
X-Cron-Env: <PATH=/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <MAILTO=root>
X-Cron-Env: <HOME=/>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Status: R

/dailyReport/test/auto.sh: line 5: mysql: command not found

mysql在用户命令行状态是可以正常执行的,为什么在定时任务中不能执行呢?本地邮件中给出了理由,经山东大葱哥核查mysql确实不在cron执行的环境变量 中

<PATH=/sbin:/bin:/usr/sbin:/usr/bin>

问题解决

既然找到了问题,那么自然好找解决办法了,山东大葱哥在cron的环境路径下 建立mysql的软链,这样定时任务就可以正常执行mysql命令了。

  • 找到mysql安装路径
[root@iZ bin]#which mysql
/application/mysql/bin/mysql
  • 建立软连接
[root@iZ /]# cd /usr/bin
[root@iZ bin]# ln -fs /application/mysql/bin/mysql mysql

学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入技术爱好者交流群373107565,我们一起学技术!

linux 定时任务描述格式

相关文章

  • 技术随笔小技巧--linux的定时任务之mysql comman

    背景 山东大葱哥写了一个bash脚本,主要内容包括: 连接数据库进行查询 将查询结果生成xls文件 将xls发送给...

  • Linux笔记

    Linux定时任务 Mysql备份 Linux+Mysql定时备份 * * * * * user task分 时 ...

  • linux crontab: 定时任务

    参考 crontab 定时任务 Linux之crontab定时任务

  • Linux定时任务之crontab(待续)

    标签: crontab 定时任务 Linux 一、需求 写了一个Python小程序,需要在Linux每天定时执行。...

  • day 17

    第13章 Linux系统定时任务Cron(d)服务应用实践 1.1、Linux定时任务 1.1.1、什么是定时任务...

  • linux Crontab

    Linux Crontab:Linux中用于执行定时任务的工具crontab -e:编辑定时任务crontab -...

  • 定时任务

    Linux定时任务 什么是定时任务: 周期性的执行任务计划的软件,linux里定时任务常用软件有:Crond 使用...

  • Linux定时计划反弹shell

    linux shell 之 crontab(定时任务)详解首先了解一下linux下的crontab crontab...

  • day17

    Linux系统定时任务 3W1H 框架 Linux系统定时任务: 1、什么是定时任务? 周期性的执行任务计划的软件...

  • day17-Linux系统定时任务

    Linux系统定时任务 1.什么是定时任务? 周期性的执行任务计划的软件,Linux定时任务软件的常用软件cron...

网友评论

本文标题:技术随笔小技巧--linux的定时任务之mysql comman

本文链接:https://www.haomeiwen.com/subject/vjtujxtx.html