cron定时任务和No MTA installed, discarding output错误处理

30 篇文章 0 订阅
15 篇文章 0 订阅

陈拓 2021/09/09-2020/09/12

0. 我的系统

lsb_release -a

 

1. 设置cron

为了定时执行程序启用cron。

我的项目需求为每5分钟执行一次hkCapJpeg1。下面通过编辑crontab进行设置。

  • crontab编辑命令

crontab -e

 

选择1:

 

在crontab的最后添加:

*/5 * * * * /home/ccdc/HKCapture/hkCapJpeg/hkCapJpeg1 192.168.1.21 8000 admin xxxxxxxx 33 > /home/ccdc/HKCapture/hkCapJpeg/info

 

  • 参数说明

其中*/5表示每隔5分钟运行一次:/home/ccdc/HKCapture/hkCapJpeg/hkCapJpeg1

后面都是hkCapJpeg1的运行参数。

注意要使用绝对路径!

控制台信息输出到文件/home/ccdc/HKCapture/hkCapJpeg/info,这个文件自己创建。

保存后会立即生效。

2. 错误排除No MTA installed, discarding output

  • 查看控制台信息

控制台信息就是程序在前台运行时显示的信息。因为现在程序在后台运行,为了能看到这些信息,我们将它们重新定向到/home/ccdc/HKCapture/hkCapJpeg/info

cat info

 

已经有了程序运行的信息,cron已经正常运行。

但这时程序结果并不正确,去哪里查看错误信息呢?

  • 查看cron状态

/etc/init.d/cron status

 

No MTA installed, discarding output

该信息提示没有安装邮件服务MTA(因特网邮件传送代理;Mail Transfer Agent,因为cron的错误信息是通过邮件发送的。

在Linux操作系统中有很多种邮件传输代理,每个MTA都有自己的特点。我们安装postfix作为邮件服务。

  • 安装postfix服务

sudo apt-get install -y postfix

选择Internet Site

点击<OK>

System mail name填写ccdc.cn,ccdc是我登录的用户名。

 

点击<OK>,postfix继续安装,完毕后自动启动。

sudo dpkg-reconfigure postfix命令可以修改postfix配置。

  • 重启服务

sudo systemctl restart postfix

现在就可以了,不需要做其他配置。

  • 查看cron信息

等待几分钟,敲一下回车,屏幕显示

 

查看邮件信息。

cat /var/mail/ccdc

 

找不到动态库libhcnetsdk.so文件,编辑ld.so.conf告诉系统动态库在哪里。

3. 找不到动态库文件解决方法

见《error while loading shared libraries: libhcnetsdk.so: cannot open shared object问题解决》

https://blog.csdn.net/chentuo2000/article/details/120261879

一文。

4. 在CRON定时任务中xxx not found错误处理

见《在CRON定时任务中xxx not found错误处理》

https://blog.csdn.net/chentuo2000/article/details/120268845

5. 重定向输出

程序调试完成后为了节省空间,将错误输出重定向到/dev/null。

即将

> /home/ccdc/HKCapture/hkCapJpeg/info

替换为

> /dev/null 2>&1

  • 0
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论

打赏作者

晨之清风

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值