我不太确定我做错了什么。我正在尝试创建一个 cron 作业来运行 bash 脚本。bash 脚本基本上会检查我的文件(ip.address.txt
),找到我的公共 IP 地址,然后ip.address.txt
再次检查并比较两者。如果它们不同,则我的 IP 已更改,我应该通过电子邮件收到通知。
该脚本可以手动运行,但是,当我尝试将其添加到 cron 作业时,我收到一封电子邮件,提示Delivery to the following recipient failed permanently
。我正在运行 Ubuntu 14.04.3。我尝试使用命令crontab -e
“执行我的第一个 cron 作业”。在文件末尾(有关 的所有内容都已被注释掉),我有:
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" [email protected]
#EOF
fi
答案1
代替
> ip.address.txt
和
> /home/jj/Desktop/IP/ip.address.txt