Temat: Cron - skrypt nie działa
Czemu skrypt checkip.sh nie chce działać z pod Crona?
#!/bin/bash
getip=$(wget http://icanhazip.com)
cat index.html > gotip.txt
gotip=$(cat gotip.txt)
compare=$(cat workingip.txt)
if [[ "$compare" != "$gotip" ]]
then
EMAIL="nick@gmail.com"
EMAILMESSAGE="ipmessage.txt"
echo "Obecny adres IP $gotip" >> $EMAILMESSAGE
/usr/sbin/sendmail -t "$EMAIL" < $EMAILMESSAGE
rm ipmessage.txt
cp gotip.txt workingip.txt
rm index.html
else
echo "done"
rm index.html
fiPo ręcznym uruchomieniu działa. Jest drobny błąd bo przy pierwszym uruchomieniu nie ma jeszcze pliku workingip.txt ale to nie jest chyba przyczyną nie działania w Cronie. Najpierw wrzuciłem skrypt do /sbin gdzie wrzucam zawsze inne skrypty. Teraz wrzuciłem do /usr/bin ale nadal nie chce działać. W logread co 10 minut jest tylko info iż Cron odpalił niby skrypt:
Wed Apr 5 04:50:00 2017 cron.info crond[4756]: USER root pid 4874 cmd /usr/bin/checkip.sh/etc/crontabs/root:
*/10 * * * * /usr/bin/checkip.shPrawa wykonywania nadałem przez chmod +x
Teraz zapisuje mi pliki gotip.txt i workingip.txt w /overlay/upper/root - wolałbym aby robił to gdzie indziej np. w tym samym katalogu co jest skrypt. Lepiej zmienić lokalizację skryptu czy określić bezpośrednie ścieżki do plików w skrypcie?