先来看看一个最简单的PHP文件(ip.php)
<?php $myip = get_ip_cmd(); echo($myip); // get ip address function get_ip_cmd(){ $ip_cmd = "ifconfig eth1 | sed -n '/inet /p' | awk '{print $2}'"; $ip_cmd = @exec($ip_cmd); $ip_cmd = str_replace('addr:', '', trim($ip_cmd)); return $ip_cmd; } ?>
再来看看cron设置
0 0 * * * php /root/ip.php
再来看看cron报错
From root@coffeetest.localdomain Tue Dec 18 09:55:01 2018 Return-Path: <root@coffeetest.localdomain> X-Original-To: root Delivered-To: root@coffeetest.localdomain Received: by coffeetest.localdomain (Postfix, from userid 0) id 17DAC40A3E; Tue, 18 Dec 2018 09:55:01 +0800 (CST) From: "(Cron Daemon)" <root@coffeetest.localdomain> To: root@coffeetest.localdomain Subject: Cron <root@coffeetest> php /root/ip.php Content-Type: text/plain; charset=UTF-8 Auto-Submitted: auto-generated Precedence: bulk X-Cron-Env: <XDG_SESSION_ID=4669> X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/0> X-Cron-Env: <LANG=en_US.UTF-8> X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/root> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=root> X-Cron-Env: <USER=root> Message-Id: <20181218015501.17DAC40A3E@coffeetest.localdomain> Date: Tue, 18 Dec 2018 09:55:01 +0800 (CST) sh: ifconfig: command not found
解决办法,修改php文件,把ifconfig命令路径补全。
<?php $myip = get_ip_cmd(); echo($myip); // get ip address function get_ip_cmd(){ $ip_cmd = "/usr/sbin/ifconfig eth1 | sed -n '/inet /p' | awk '{print $2}'"; $ip_cmd = @exec($ip_cmd); $ip_cmd = str_replace('addr:', '', trim($ip_cmd)); return $ip_cmd; } ?>