Я не совсем уверен, что я делаю неправильно. Я пытаюсь создать задание cron для запуска скрипта bash. Сценарий bash будет в основном проверять мой файл (ip.address.txt), найти мой общедоступный IP-адрес, а затем снова проверить ip.address.txt и сравнить два.
Скрипт работает вручную, однако при попытке добавить к заданию cron я получаю сообщение по электронной почте о том, что Delivery to the following recipient failed permanently. Я запускаю Ubuntu 14.04.3. Я пытаюсь выполнить свое первое задание cron с помощью команды crontab -e ". В конце файла (все о том, что было прокомментировано), у меня есть:
PATH=/usr/sbin:/usr/bin:/sbin:/bin
* * * * * /home/jj/Desktop/IP/publicIP.sh
Это автономный рабочий стол , и пытаюсь выполнить задание пользователя cron. Спасибо за помощь в понимании больше о работе cron. Я также отправлю сценарий bash.
#!/bin/bash
#Give crontab a path to follow according to what i have read ?????
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/jj/Desktop/IP/
#Get last saved IP address
ip1=$( cat /home/jj/Desktop/IP/ip.address.txt )
#This is the command to see public IP address
dig +short myip.opendns.com @resolver1.opendns.com > ip.address.txt
#This is the updated IP adress currently in use
ip2=$( cat /home/jj/Desktop/IP/ip.address.txt )
#Check to see if it is the same IP
if [ $ip1 != $ip2 ]; then
#If the IP is different, the IP has changed. Notify me via email
cat /home/jj/Desktop/IP/ip.address.txt | mail -s "IP Address" user@gmail.com
#EOF
fi