--openresty
local redis=require "resty.redis";
local json=require "cjson";

local red=redis:new();

red:set_timeout(1000);
local ok,err=red:connect("127.0.0.1", 6379);

if not ok then
  ngx.say(json.encode({msg="failed to connect redis"}));
  return;
end

local res, err = red:get("rasp_req");
if not res then
    ngx.say(json.encode({msg=err}));
    return
end

if res == ngx.null then
   ngx.say(json.encode({msg='res null'}));
   return
end

ngx.say(res);

local ok,err=red:close();


--raspiberry
local redis=require "resty.redis";
local json = require "cjson";

local red=redis:new();

red:set_timeout(1000);
local ok,err=red:connect("127.0.0.1", 6379);

if not ok then
  ngx.log("failed to connect redis ",err);
  return;
end

local rasp_auth = ngx.req.get_headers()["RaspAuth"];
if rasp_auth == nil or rasp_auth ~= "willku" then
  ngx.say(json.encode({msg='auth fail'}));
  return
end

local rasp_ts = ngx.req.get_headers()["RaspTs"];
local rasp_addr = ngx.req.get_headers()["RaspAddr"];
local rasp_ip = ngx.var.remote_addr;

local rasp_req = {RaspTs=rasp_ts,RaspAddr=rasp_addr,RaspIp=rasp_ip};
rasp_req = json.encode(rasp_req);

local ans, err = red:set("rasp_req", rasp_req);
if not ans then
    ngx.say(json.encode({msg=err}));
    return
end

ngx.say(rasp_req);

local ok,err=red:close();


#!/bin/bash
curl https://lemme.coderr.cn/raspset -H "RaspAuth:willku" -H "RaspTs:`date +%Y%m%d-%H:%M:%S`" -H "RaspAddr:`ip addr |grep 'inet\b'|awk '{print $2}'|xargs echo|sed -r 's@ @|@g'`"


备份地址: 【raspiberry上报心跳