老男孩教育每日一題-第85天-下面這個腳本直接執行沒有問題,在定時任務中有問題,什麽原因?
腳本內容:
[[email protected] scripts]# cat /server/scripts/ip.sh #!/bin/bash IP=$(ifconfig eth0 |awk -F "[ :]+" ‘NR==2{print $4}‘) echo "ip:$IP" >> /tmp/ip.txt 定時任務: [[email protected] scripts]# crontab -l * * * * * /bin/bash /server/scripts/ip.sh &> /dev/null
定時任務執行後的結果:
[[email protected]
參考答案:
原因:
此腳本在定時任務中沒有取出ip,說明ifconfig命令沒有執行成功,就是沒有找到ifconfig,與PATH環境變量有關,PATH環境變量在/etc/profile文件中設置,而定時任務卻是以nologin方式調用腳本,不會加載/etc/profile,所以導致此腳本在定時任務中執行失敗
解決
方法1:
在腳本中ifconfig 命令寫全路徑 /sbin/ifconfig
查看結果如下
[[email protected] scripts]# cat /tmp/ip.txt ip: ip: ip: ip: ip: ip:10.0.0.101 ip:10.0.0.101
方法2:
在腳本中加入 source /etc/profile
備註
今天是每日一題陪伴大家的第85天,期待你的進步。
對於題目和答案的任何疑問,請在博客評論區留言。
往期題目索引
http://lidao.blog.51cto.com/3388056/1914205
本文出自 “李導的博客” 博客,請務必保留此出處http://lidao.blog.51cto.com/3388056/1944566
老男孩教育每日一題-第85天-下面這個腳本直接執行沒有問題,在定時任務中有問題,什麽原因?