Crontab不工作

Crontab不工作

我知道这个问题已经被问过好几次了,但是我不知道该怎么办...我已经尝试了 AskUbuntu 上提出的所有解决方案,但没有结果...

因此...我的家 /home/napolux 中有这个 shell 脚本:

#!/bin/bash
NOW=$(date +"%Y%m%d-%T")
cutycapt --url=http://example.com --out=/home/napolux/screens/yc.$NOW.png

crontab是这样的:

* * * * * /home/napolux/yc-screens > /dev/null

cutycapt 是一个小型命令行工具,用于截取网页截图。脚本(以及目标文件夹 /home/napolux/script)具有 777 权限和执行标志。

脚本是正确的:通过 shell 调用它我可以获得屏幕截图。

在 /var/log/syslog 中我看到该作业每分钟运行一次。

May 18 20:13:01 ubu CRON[2649]: (CRON) info (No MTA installed, discarding output)
May 18 20:14:01 ubu CRON[2657]: (napolux) CMD (/home/napolux/yc-screens > /dev/null)
May 18 20:14:01 ubu CRON[2656]: (CRON) info (No MTA installed, discarding output)
May 18 20:15:01 ubu CRON[2662]: (napolux) CMD (/home/napolux/yc-screens > /dev/null)
May 18 20:15:01 ubu CRON[2661]: (CRON) info (No MTA installed, discarding output)

那么,我该怎么办???

答案1

为了获得调试输出并能够弄清楚发生了什么,我建议您不要将输出重定向到 /dev/null。您可以重定向到文件或完全删除重定向,在这种情况下,它会通过电子邮件向您的本地用户发送报告。您还可以设置 MAILTO 变量,让它向其他人发送电子邮件(假设您在系统上正确设置了 MTA)。

因此,要么:

* * * * * /home/napolux/yc-screens > /tmp/yc.log

或者:

[email protected]
* * * * * /home/napolux/yc-screens

我的直觉是您需要提供 cutycapt 的完整路径 (/usr/bin/cutycapt),但也可能不是。确定的最佳方法是查看日志。

另外,我建议你不要将脚本和目录设置为 777,因为这样任何人都可以修改它们。相反,将它们设置为 755,并确保你的用户有写入目录的权限。

答案2

发现问题了...cutycapt 需要某种 X 服务器才能正常工作,所以我用財委正如这里所解释的...

http://jamesmcdonald.id.au/it-tips/taking-screenshots-of-a-website-in-linux

相关内容