嗨,我是一个第一年的游戏编程学生学习Unix,我遇到了一个问题,试图理解crontab。我试图做一些相当简单的事情,检查我是否在线,获取一个给定网站的信息,并平另一个网站,以验证它是在线的。我的脚本文件完成了所有这一切,但是当我试图通过crontab执行这些任务时,我会收到电子邮件,告诉我什么都没有,只有开玩笑。输出基本上只是告诉我,我正在尝试做所有这些事情,但它没有输出结果。我不知道我哪里出了问题。为了验证一下,我在系统上确实拥有使用crontab的权限,并且在我试图让它工作的时候,脚本每分钟都在运行。我希望有人能给我指明正确的方向,我所有的在线研究都让我误入歧途。
这是我的crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
HOME=/
LOGNAME=username
* * * * * /bin/bash /home/students/~/online.sh
30 23 1 * * rm online.log这是我的剧本
touch online.log
who | grep username >> online.log ; whois yahoo.ca >> online.log ; ping -c 1 www.google.com >> online.log发布于 2013-11-16 06:40:03
如果要使用cron执行这些路径,则需要在脚本中使用绝对路径。
注意,在命令行上执行脚本时,cron在不同的环境中执行。例如,更改行,如
touch online.log若要包含online.log的绝对路径,请执行以下操作。
发布于 2013-11-16 06:39:16
输出正被重定向到online.log,所以您需要在那里查找,而不是在电子邮件中。如果您希望输出也在电子邮件中,您应该考虑使用tee而不是重定向。
https://stackoverflow.com/questions/20015560
复制相似问题