找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 13736|回复: 41

微信推送消息的脚本改善

  [复制链接]
发表于 2017-4-13 17:51 | 显示全部楼层 |阅读模式
本帖最后由 tumuyan 于 2017-5-1 16:37 编辑

由于特殊符号在微信消息中不会直接显示,我稍微改动了微信推送消息的脚本

修改前ip和mac混在一起,ip没有分隔符容易误读

修改后ip有分割符分割,ip  mac  主机名有换行


代码内容如下

  1. #!/bin/sh
  2. # 此脚本路径:/etc/storage/serverchan_script.sh
  3. # 自定义设置 - 脚本 - 自定义 Crontab 定时任务配置,可自定义启动时间
  4. source /etc/storage/script/init.sh
  5. export PATH='/opt/usr/sbin:/opt/usr/bin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin'
  6. export LD_LIBRARY_PATH=/lib:/opt/lib
  7. serverchan_enable=`nvram get serverchan_enable`
  8. serverchan_enable=${serverchan_enable:-"0"}
  9. serverchan_sckey=`nvram get serverchan_sckey`
  10. serverchan_notify_1=`nvram get serverchan_notify_1`
  11. serverchan_notify_2=`nvram get serverchan_notify_2`
  12. serverchan_notify_3=`nvram get serverchan_notify_3`
  13. serverchan_notify_4=`nvram get serverchan_notify_4`
  14. mkdir -p /tmp/var
  15. resub=1
  16. # 获得外网地址
  17.     arIpAddress() {
  18.     curltest=`which curl`
  19.     if [ -z "$curltest" ] || [ ! -s "`which curl`" ] ; then
  20.         wget --no-check-certificate --quiet --output-document=- "http://members.3322.org/dyndns/getip"
  21.         #wget --no-check-certificate --quiet --output-document=- "1212.ip138.com/ic.asp" | grep -E -o '([0-9]+\.){3}[0-9]+'
  22.         #wget --no-check-certificate --quiet --output-document=- "ip.6655.com/ip.aspx"
  23.         #wget --no-check-certificate --quiet --output-document=- "ip.3322.net"
  24.     else
  25.         curl -k -s "http://members.3322.org/dyndns/getip"
  26.         #curl -k -s 1212.ip138.com/ic.asp | grep -E -o '([0-9]+\.){3}[0-9]+'
  27.         #curl -k -s ip.6655.com/ip.aspx
  28.         #curl -k -s ip.3322.net
  29.     fi
  30.     }
  31. # 读取最近外网地址
  32.     lastIPAddress() {
  33.         local inter="/etc/storage/lastIPAddress"
  34.         cat $inter
  35.     }

  36. while [ "$serverchan_enable" = "1" ];
  37. do
  38. serverchan_enable=`nvram get serverchan_enable`
  39. serverchan_enable=${serverchan_enable:-"0"}
  40. serverchan_sckey=`nvram get serverchan_sckey`
  41. serverchan_notify_1=`nvram get serverchan_notify_1`
  42. serverchan_notify_2=`nvram get serverchan_notify_2`
  43. serverchan_notify_3=`nvram get serverchan_notify_3`
  44. serverchan_notify_4=`nvram get serverchan_notify_4`
  45. curltest=`which curl`
  46. if [ -z "$curltest" ] ; then
  47.     wget --continue --no-check-certificate -s -q -T 10 http://www.163.com
  48.     [ "$?" == "0" ] && check=200 || check=404
  49. else
  50.     check=`curl -k -s -w "%{http_code}" "http://www.163.com" -o /dev/null`
  51. fi
  52. if [ "$check" == "200" ] ; then
  53. echo "online"
  54. if [ "$serverchan_notify_1" = "1" ] ; then
  55.     local hostIP=$(arIpAddress)
  56.     local lastIP=$(lastIPAddress)
  57.     if [ "$lastIP" != "$hostIP" ] && [ ! -z "$hostIP" ] ; then
  58.     sleep 60
  59.         local hostIP=$(arIpAddress)
  60.         local lastIP=$(lastIPAddress)
  61.     fi
  62.     if [ "$lastIP" != "$hostIP" ] && [ ! -z "$hostIP" ] ; then
  63.         logger -t "【互联网 IP 变动】" "目前 IP: ${hostIP}"
  64.         logger -t "【互联网 IP 变动】" "上次 IP: ${lastIP}"
  65.         curl -s "http://sc.ftqq.com/$serverchan_sckey.send?text=PDCN卐互联网IP异变" -d "&desp=${hostIP//./_}" &
  66.         logger -t "【微信推送】" "互联网IP变动:${hostIP}"
  67.         echo -n $hostIP > /etc/storage/lastIPAddress
  68.     fi
  69. fi
  70. if [ "$serverchan_notify_2" = "1" ] ; then
  71.     # 获取接入设备名称
  72.     touch /tmp/var/newhostname.txt
  73.     echo "接入设备名称" > /tmp/var/newhostname.txt
  74.     #cat /tmp/syslog.log | grep 'Found new hostname' | awk '{print $7" "$8}' >> /tmp/var/newhostname.txt
  75.     cat /tmp/static_ip.inf | grep -v "^$" | awk -F "," '{ if ( $6 == 0 ) print "DHCP_IP_ "$1"卐%0A<br>%0A MAC_address_ "$2"卐%0A<br>%0A MachineName_ "$3"卐%0A<br>%0A"}' >> /tmp/var/newhostname.txt
  76.     # 读取以往接入设备名称
  77.     touch /etc/storage/hostname.txt
  78.     [ ! -s /etc/storage/hostname.txt ] && echo "接入设备名称" > /etc/storage/hostname.txt
  79.     # 获取新接入设备名称
  80.     awk 'NR==FNR{a[$0]++} NR>FNR&&a[$0]' /etc/storage/hostname.txt /tmp/var/newhostname.txt > /tmp/var/newhostname相同行.txt
  81.     awk 'NR==FNR{a[$0]++} NR>FNR&&!a[$0]' /tmp/var/newhostname相同行.txt /tmp/var/newhostname.txt > /tmp/var/newhostname不重复.txt
  82.     if [ -s "/tmp/var/newhostname不重复.txt" ] ; then
  83.         content=`cat /tmp/var/newhostname不重复.txt | grep -v "^$"`
  84.         curl -s "http://sc.ftqq.com/$serverchan_sckey.send?text=PDCN卐新Friend加入" -d "&desp=${content//./_}" &
  85.         logger -t "【微信推送】" "PDCN新设备加入:${content}"
  86.         cat /tmp/var/newhostname不重复.txt | grep -v "^$" >> /etc/storage/hostname.txt
  87.     fi
  88. fi
  89. if [ "$serverchan_notify_4" = "1" ] ; then
  90.     # 设备上、下线提醒
  91.     # 获取接入设备名称
  92.     touch /tmp/var/newhostname.txt
  93.     echo "接入设备名称" > /tmp/var/newhostname.txt
  94.     #cat /tmp/syslog.log | grep 'Found new hostname' | awk '{print $7" "$8}' >> /tmp/var/newhostname.txt
  95.     cat /tmp/static_ip.inf | grep -v "^$" | awk -F "," '{ if ( $6 == 0 ) print "DHCP_IP_ "$1"卐%0A<br>%0A MAC_address_ "$2"卐%0A<br>%0A MachineName_ "$3"卐%0A<br>%0A"}' >> /tmp/var/newhostname.txt
  96.     # 读取以往上线设备名称
  97.     touch /etc/storage/hostname_上线.txt
  98.     [ ! -s /etc/storage/hostname_上线.txt ] && echo "接入设备名称" > /etc/storage/hostname_上线.txt
  99.     # 上线
  100.     awk 'NR==FNR{a[$0]++} NR>FNR&&a[$0]' /etc/storage/hostname_上线.txt /tmp/var/newhostname.txt > /tmp/var/newhostname相同行_上线.txt
  101.     awk 'NR==FNR{a[$0]++} NR>FNR&&!a[$0]' /tmp/var/newhostname相同行_上线.txt /tmp/var/newhostname.txt > /tmp/var/newhostname不重复_上线.txt
  102.     if [ -s "/tmp/var/newhostname不重复_上线.txt" ] ; then
  103.         content=`cat /tmp/var/newhostname不重复_上线.txt | grep -v "^$"`
  104.         curl -s "http://sc.ftqq.com/$serverchan_sckey.send?text=PDCN卐设备Online" -d "&desp=${content//./_}" &
  105.         logger -t "【微信推送】" "PDCN设备【上线】:${content}"
  106.         cat /tmp/var/newhostname不重复_上线.txt | grep -v "^$" >> /etc/storage/hostname_上线.txt
  107.     fi
  108.     # 下线
  109.     awk 'NR==FNR{a[$0]++} NR>FNR&&!a[$0]' /tmp/var/newhostname.txt /etc/storage/hostname_上线.txt > /tmp/var/newhostname不重复_下线.txt
  110.     if [ -s "/tmp/var/newhostname不重复_下线.txt" ] ; then
  111.         content=`cat /tmp/var/newhostname不重复_下线.txt | grep -v "^$"`
  112.         curl -s "http://sc.ftqq.com/$serverchan_sckey.send?text=PDCN卐设备offline" -d "&desp=${content//./_}" &
  113.         logger -t "【微信推送】" "PDCN设备【下线】:${content}"
  114.         cat /tmp/var/newhostname.txt | grep -v "^$" > /etc/storage/hostname_上线.txt
  115.     fi
  116. fi
  117. if [ "$serverchan_notify_3" = "1" ] && [ "$resub" = "1" ] ; then
  118.     # 固件更新提醒
  119.     [ ! -f /tmp/var/osub ] && echo -n `nvram get firmver_sub` > /tmp/var/osub
  120.     rm -f /tmp/var/nsub
  121.     wgetcurl.sh "/tmp/var/nsub" "$hiboyfile/osub" "$hiboyfile2/osub"
  122.     if [ $(cat /tmp/var/osub) != $(cat /tmp/var/nsub) ] && [ -f /tmp/var/nsub ] ; then
  123.         echo -n `nvram get firmver_sub` > /tmp/var/osub
  124.         content="新的固件: `cat /tmp/var/nsub | grep -v "^$"` %0A<br>%0A,目前旧固件: `cat /tmp/var/osub | grep -v "^$"` "
  125.         logger -t "【微信推送】" "固件 新的更新:${content}"
  126.         curl -s "http://sc.ftqq.com/$serverchan_sckey.send?text=PDCN卐设备更新提醒" -d "&desp=${content}" &
  127.         echo -n `cat /tmp/var/nsub | grep -v "^$"` > /tmp/var/osub
  128.     fi
  129. fi
  130.     resub=`expr $resub + 1`
  131.     [ "$resub" -gt 360 ] && resub=1
  132. else
  133. echo "Internet down 互联网断线"
  134. resub=1
  135. fi
  136. sleep 60
  137. continue
  138. done




复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

还差时间,得加个上线时间和下线时间  发表于 2017-4-14 11:52

评分

参与人数 4恩山币 +4 收起 理由
abc907223 + 1 前排留名
abullstar + 1 IP地址还是点看着舒服,能不用下划线吗?
qq284926896 + 1 支付宝已转500w给你!
snake43165 + 1 我来恩山就是为了看你!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-4-13 18:42 | 显示全部楼层
微信推送消息是指你分享的免费网络向连接者发送你想要发送的信息吗?

点评

推送到您绑定的微信帐号中  详情 回复 发表于 2017-4-16 21:15
按照如图位置设置,路由推送状态信息到微信里 [attachimg]159192[/attachimg]  详情 回复 发表于 2017-4-13 20:23
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-13 20:15 | 显示全部楼层
貌似很厉害,虽然我看不懂
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-4-13 20:23 | 显示全部楼层
序言天 发表于 2017-4-13 18:42
微信推送消息是指你分享的免费网络向连接者发送你想要发送的信息吗?

按照如图位置设置,路由推送状态信息到微信里

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-14 08:19 | 显示全部楼层
感谢,正在用,一会看看有没有IOS设备频繁上下线推送的问题。

稍后再来反馈。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-14 09:10 | 显示全部楼层
试了一下,有用,谢谢!能不能增加新的提醒内容?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-14 15:21 | 显示全部楼层
试了一下,有用,谢谢
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-14 17:18 | 显示全部楼层
设备名称不显示。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-14 18:24 来自手机 | 显示全部楼层
感谢分享开心
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-14 20:11 | 显示全部楼层
感谢分享,希望楼主能多发些调教server酱的帖
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-15 08:34 | 显示全部楼层
本帖最后由 校友(梨) 于 2017-4-15 08:36 编辑

不错,试过了可用。有意思的功能。确实有上面提到的IOS设备频繁上下线。不过安卓手机也会休眠而下线。

点评

对了,我家还有几个小米的智能设备,也是一天几次的联网。 我现在把上下线提醒关了。  详情 回复 发表于 2017-4-16 07:52
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-16 07:52 | 显示全部楼层
校友(梨) 发表于 2017-4-15 08:34
不错,试过了可用。有意思的功能。确实有上面提到的IOS设备频繁上下线。不过安卓手机也会休眠而下线。

对了,我家还有几个小米的智能设备,也是一天几次的联网。

我现在把上下线提醒关了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-16 21:15 | 显示全部楼层
序言天 发表于 2017-4-13 18:42
微信推送消息是指你分享的免费网络向连接者发送你想要发送的信息吗?

推送到您绑定的微信帐号中如下图


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

原来这样  详情 回复 发表于 2017-4-17 21:12
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-17 21:12 | 显示全部楼层
虎皮鲨 发表于 2017-4-16 21:15
推送到您绑定的微信帐号中如下图

原来这样
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-4-19 16:41 | 显示全部楼层
yongl .用了还可以支持。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-19 13:20

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表