![Crontab不工作](https://linux22.com/image/818537/Crontab%E4%B8%8D%E5%B7%A5%E4%BD%9C.png)
我知道这个问题已经被问过好几次了,但是我不知道该怎么办...我已经尝试了 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