作为cron作业运行脚本不会显示数据。

时间:2016-10-20 14:21:36

标签: linux bash cron

每当我将.sh脚本作为cronjob运行时,我都无法显示IP地址。每当我使用./myscript.sh执行脚本时,我都能够在html文件中显示ip地址。请让我知道什么是错的。

#!/bin/bash
container_id=$(docker ps -a | cut -c 1-20)
container_id_ele=($container_id)
container_status=$(docker ps -a | cut -c 80-100)
container_status_ele=($container_status)
last_run=`date`
hostip=`ifconfig eno1 2>/dev/null|awk '/inet addr:/ {print $2}'|sed    's/addr://'`
cat > /home/docker/index.html <<EOF
<html>
 <body>
   <table border=1>
   <tr>
         <td>Host</td>
         <td>Container Id</td>
         <td>Status</td>
   </tr>
   <tr>
     <td> $hostip </td>
     <td> ${container_id_ele[2]}</td>
     <td> ${container_status_ele[1]} ${container_status_ele[2]}   ${container_status_ele[3]} </td>
 </tr>
   </table>
Note : Status will be updated every 60 seconds <br/>
Last run :$last_run
 </body>
</html>
EOF
`docker cp /home/docker/index.html tomcat:/opt/tomcat/webapps/ROOT/`

1 个答案:

答案 0 :(得分:1)

好的剧本。这里几乎没有改写。

#!/bin/bash
export myhostip=`hostname -I`
echo $myhostip
cat > ./index.html <<EOF
<html>
        <body>
                <h1>$myhostip</h1>
        </body>
</html>
EOF

它正在运作。