我设置了cronjob
每50分钟编写一个网页,但是访问它们时,网页是空白的。
这cronjob
:50 * * * * 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
我添加了一个指向脚本的链接,/bin
root 可以使用它。仅此而已没有用,在编辑了ctrontab -e
所有我能想到的方法后,我删除了那里的条目,并编辑了文件/etc/crontab
以包含一行以 root 为用户的脚本。
50 * * * * root mkIndex.sh > /home/user/img/index.html
这有效。