这个 cron 作业有什么问题?

这个 cron 作业有什么问题?

我设置了cronjob每50分钟编写一个网页,但是访问它们时,网页是空白的。

cronjob50 * * * * mkIndex.sh > /home/user/img/index.html

mkIndex.sh是我在 中编写的脚本,位于/home/$USER/bin$PATH,按照 中所示的相同方式运行该脚本crontab似乎运行良好,它会生成网页。

那么,为什么我的index.html文件是空白的?或者,你能看出我的脚本有什么缺陷吗?

#!/bin/bash
echo -e "<!DOCTYPE html>\n<head>\n"
echo -e "<style>\ndiv.gallery {\nmargin: 1px;\nborder: 1px solid #ccc;\nfloat: left;\n"
echo -e" width: 180px;\n}\n\ndiv.gallery:hover {\nborder: 1px solid #777;\n}\n\ndiv.gallery img {\n"
echo -e "width: 10%;\nheight: auto;\n}\n"
echo -e "</style>\n</head>\n"
echo -e "<body>\n"
 
cd /home/user/img
for i in `ls *.png`
do
echo -e "<div class="gallery">"
echo -e  "<a target="$i" href="$i">"
echo -e   " <img src="$i"  width="300" height="200">"
echo -e  "</a>"
echo -e "</div>"
done
 
echo -e "</body>\n</html>"

我不确定为什么我cronjob没有产生所需的输出。

答案1

我添加了一个指向脚本的链接,/binroot 可以使用它。仅此而已没有用,在编辑了ctrontab -e 所有我能想到的方法后,我删除了那里的条目,并编辑了文件/etc/crontab以包含一行以 root 为用户的脚本。
50 * * * * root mkIndex.sh > /home/user/img/index.html

这有效。

相关内容