我有一个脚本,每天更新一次具有一些统计数据的服务器.从命令行运行时,脚本按预期工作,但从cron运行时,某些变量不会传递给curl.
以下是代码示例:
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
/bin/sh /etc/profile
MACADDR=$(ifconfig en0 | grep ether | awk '{print $2}')
DISKUSED=$(df / | awk '{print $3}' | tail -n1)
DISKSIZE=$(df / | awk '{print $2}' | tail -n1)
# HTTP GET PARAMS
GET_DELIM="&"
GET_MAC="macaddr"
GET_DS="disk_size"
GET_DU="disk_used"
# Put together the query
QUERY1=$GET_MAC=$MACADDR$GET_DELIM$GET_DS=$DISKSIZE$GET_DELIM$GET_DU=$DISK_USED
curl http://192.168.100.150/status.php?$QUERY1
Run Code Online (Sandbox Code Playgroud)
cron作业的结果是http://192.168.100.150/status.php?macaddr=&disk_size=&disk_used=
我不确定这些变量是否存在问题,或者可能是awk尝试解析没有指定终端大小的数据等.
任何帮助表示赞赏.
我试图将一些数据传递给一个函数,该函数使用这些参数作为多维数组的标识符,然后返回硬编码到该数组的值.我不确定我做错了什么,但有些事情正在破裂.
在分配任何数组值之前,我可以获得一个alert()来弹出,但它似乎在那时就死了.任何帮助表示赞赏.
// Get Column A's number
var a1 = Number($('#p-a').attr("numb"));
// Get Column B's number
var b1 = Number($('#p-b').attr("numb"));
// Get status for column A
var a_status = $('#p-a').attr("status");
// Get status for column A
var b_status = $('#p-b').attr("status");
// If same, status="s" else, status="i"
var status = "";
if(a_status == b_status) { status = "s"; }else{ status = "o"; }
// Get the value of the numbers + status
var a = this_function(a1, b1, status, "2");
// Update …Run Code Online (Sandbox Code Playgroud)