我设置了一个 cron 作业,每 50 分钟写一个网页,但后来我看了看网页,它是空白的。计划任务:
50 * * * * mkIndex.sh > /home/user/img/index.html
mkIndex.sh 是我写的脚本,在/home/$USER/bin 里,在$PATH 里。以 crontab 中显示的相同方式运行脚本似乎工作正常,它生成网页。..
那么为什么我的 index.html 文件是空白的呢?或者,您能看出我的 shell 脚本有什么缺陷吗?
#!/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>"
我不确定为什么我的 cron 作业没有生成所需的输出。
/bin
我在 root 可以使用它的地方添加了一个脚本链接。仅此一项是行不通的,在ctrontab -e
以我能想到的所有方式进行编辑之后,我删除了那里的条目,并编辑了文件/etc/crontab
以包含以 root 作为用户的脚本行。50 * * * * root mkIndex.sh > /home/user/img/index.html
那奏效了。