Eu configurei um cron job para escrever uma página da web a cada 50 minutos, mas depois olhei para a página da web e estava em branco. O trabalho cron:
50 * * * * mkIndex.sh > /home/user/img/index.html
mkIndex.sh é um script que escrevi, em /home/$USER/bin, que está no $PATH. executar o script da mesma maneira mostrada no crontab parece funcionar bem, ele gera a página da web. ..
Então, por que meu arquivo index.html está em branco? Como alternativa, você pode ver alguma falha no meu script de 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>"
Não sei por que meu cron job não está gerando a saída desejada.
Eu adicionei um link para o script onde
/bin
o root pode usá-lo. Só isso não funcionou, depois de editarctrontab -e
de todas as formas que pude imaginar, apaguei minha entrada lá e editei o arquivo/etc/crontab
para incluir uma linha para o script com root como usuário.50 * * * * root mkIndex.sh > /home/user/img/index.html
Isso funcionou.