有的空格导致了格式不对,复制代码到新的bash脚本中可解决
重启 cron 服务并编辑其内容:
sudo systemctl restart crond
crontab -e
crontab -l
./script.sh
bc 实用程序未安装在您的系统上
bc --version
sudo yum install bc
脚本权限 chmod 777
注意format,建议调整为UNIX格式
查看var/spool/mail下的root文件中的信息/日志,发现
在本机执行脚本时,本机是有TERM的,但ssh命令本身是不带TERM环境的,所以会报此提示。
需要在bash脚本中加入 export TERM=xterm
0无法转为浮点数,
IP可能有多个,用awk方法保留第一个,或者需要的那一个。
# !/bin/bash
export TERM=xterm
TOTAL_MEMORY=$(free | awk 'NR==2{print $2}')
USED_MEMORY=$(free | awk 'NR==2{print $3}')
memory_usage=$(awk "BEGIN {printf \"%.2f\", ($USED_MEMORY / $TOTAL_MEMORY * 100)}")
echo $memory_usage
USED_DISK=$(df | awk 'NR > 1 {sum += $3} END {print sum}')
TOTAL_DISK=$(df | awk 'NR > 1 {sum += $2} END {print sum}')
DISK_USAGE_PERCENT=$(awk "BEGIN {printf \"%.2f\", ($USED_DISK / $TOTAL_DISK * 100)}")
#declare -A disk_usage=(["C:"]=$DISK_USAGE_PERCENT ["D:"]=0 ["E:"]=0 ["F:"]=0 )
echo $DISK_USAGE_PERCENT
LT_CP=$(top -b -n1 | awk 'NR > 8 {sum += $10} END {print sum}')
LT_CPU=$(echo "$LT_CP + 0.1" | bc)
echo $LT_CPU
LT_IP=$(hostname -I | awk '{print $1}')
echo $LT_IP
data="{\"LT_IP\": \"$LT_IP\",
\"LT_CPU\": \"$LT_CPU\",
\"LT_NC\": \"$memory_usage\",
\"LT_Cdisk\": \"$DISK_USAGE_PERCENT\",
\"LT_Ddisk\": \"0\",
\"LT_Edisk\": \"0\",
\"LT_Fdisk\": \"0\"
}"
response=$(curl -v -s -X POST \
-H "Content-Type: application/json" \
-d "$data" \
Your interface)
if [ $? -eq 0 ];
then
echo "API response: $response"
else
echo "Error sending request."
echo "Verbose curl output: $response"