13-linux定时任务不起作用到的问题解决办法

基本操作下面这篇: 

  centos定时任务-不起作用- 没指明路径!!!

最大的问题是路径问题,以及权限问题。

用定时任务执行某些脚本是出现一系列问题,一步一步解决.

问题一:定时任务没反应:

查看日志看看

问题二:postfix报错postfix: fatal: parameter inet_interfaces: no local interface found for ::1

解决: 注意权限root 或者sudo
vi /etc/postfix/main.cf 
发现配置为:

inet_interfaces = localhost
inet_protocols = all

改成:

inet_interfaces = all
inet_protocols = all

重新启动 
service postfix start 
OK!

问题三:你会收到邮件了:

查看邮件吧

下面这个邮件就会告诉你发生的错误:

下面的是成功执行了定时任务的:

 

我的一些问题:

我在一个test.py中:

刚开始我只写入文件到  "logs.txt"中,二通过邮件可以看到发送成功了,且输出了finish,然而,却没有写入文件,于是,我猜测他的执行路径问题了,应为

我写入文件给的是相对路径,所以我加了一个绝对地址,然后 成功了!!!

 

定时任务执行的命令并不是在你的.py文件所在目录,所以,无论是调用相同文件夹下的文件还是写文件读文件,都要保证能找到该路径,所以一般有两种处理方法:

1.写成绝对路径

如上图

2.在执行命令前,先进入到指定文件夹下,在执行命令,如下:

注意,这相当与是同时执行了两个命令,先执行: cd /home/yusogn/py/notice 

然后执行: python /home/yusong/py/notice/test.py

所以注意:这两个命令之间要用  && 连接起来

 

 

 

原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/10287944.html