写一篇和视频无关的文章。

这个月初从京东购买了一台QNAP 威联通 TS-453Bmini NAS主机,同时配了希捷酷狼NAS硬盘。因为是第一次用NAS,买回来的周末没干别的,就鼓捣NAS了。功能上面倒是还好,最主要的问题是我家是北京联通200M光纤,没有固定的外网IP。打电话找客服、还安排了上门师傅,都没能解决我从外网直接访问NAS的问题。

买NAS之前,我家里是光猫上只连接一个NETGEAR R8500路由器(已刷梅林固件)。NAS一开始是接到路由器上的,然后配置了端口转发,发现从外网连不进来。然后又登录光猫,看到光猫上竟然可以直接做虚拟主机端口转发,重启光猫后,看到光猫显示WLAN是一个外网IP,跟我在网上搜索到的IP地址相同,高兴坏了。之后,我想NAS接路由再配转发也没什么必要,随后干脆直接把NAS接到光猫上了,在光猫上做了虚拟主机端口转发直接到NAS。最终,终于可以从外网直接访问我的NAS了。

但是,过了一周有一天突然发现NAS从之前的外网地址连不上了,晚上回家一查,原来是外网IP地址变了。我当时以为联通是每周变一次IP,然而并不是,这次变IP后,过了3天又变了一次。貌似没有规律啊,这麻烦的。有没有办法让NAS自己把家里的外网地址上报出来呢?当然,我想了个最简单的办法,就是每天让NAS自动发一个邮件到我的邮箱,这样,即便是联通把我家外网IP变了,我也能在当天(最迟隔天)拿到新的外网地址。

下面记录一下步骤:

NAS上打开SSH

使用ssh工具登录到NAS
我机器上有putty,就顺手用这个了。
然后转到:

[/share/homes/admin]

当然你也可以转到其他位置,但我是建议在home下,避免被系统自动清理掉。
然后vim进入编辑模式,将以下脚本粘贴进去:

#!/bin/sh
#
# nasnotify.sh - aka /share/homes/admin/bin/nasnotify.sh
#
#  This script e-mails a report on the NAS / Drive Status to the designated recipient
#  See QNAP Forum article: http://forum.qnap.com/viewtopic.php?f=24&t=99093
#
SendTo="receive@receive.com"
SendFrom="sender@sender.com"
Subject="MY-NAS Daily Report"
#
#
rm -f /tmp/nasreport.email
touch /tmp/nasreport.email
echo "From: ${SendFrom}"     >>/tmp/nasreport.email
echo "To: ${SendTo}"         >>/tmp/nasreport.email
echo "Subject: ${Subject}"   >>/tmp/nasreport.email
echo " "           >>/tmp/nasreport.emailrm -f /tmp/nasreport
touch /tmp/nasreport
chmod +x /tmp/nasreport
cat <<EOF >>/tmp/nasreport
#!/bin/sh
#
# NAS Report by Patrick Wilson
# see: http://forum.qnap.com/viewtopic.php?f=185&t=82260#p366188
#
#
echo "*********************"
echo "** QNAP NAS Report **"
echo "*********************"
echo " "
echo "NAS Model:      \$(getsysinfo model)"
echo "Firmware:       \$(getcfg system version) Build \$(getcfg system 'Build Number')"
echo "System Name:    \$(/bin/hostname)"
echo "Workgroup:      \$(getcfg system workgroup)"
echo "Base Directory: \$(dirname \$(getcfg -f /etc/config/smb.conf Public path))"
echo "NAS IP address: \$(ifconfig \$(getcfg network 'Default GW Device') | grep addr: | awk '{ print \$2 }' | cut -d: -f2)"
echo "NAS WLAN IP address:" \$(curl http://members.3322.org/dyndns/getip)
echo " "
echo "Default Gateway Device: \$(getcfg network 'Default GW Device')"
echo " "
ifconfig \$(getcfg network 'Default GW Device') | grep -v HWaddr
echo " "
echo -n "DNS Nameserver(s):"
cat /etc/resolv.conf | grep nameserver | cut -d' ' -f2
echo " "
echo " "
echo "HDD Information:"
echo " "
if [ -x /sbin/hdparm ]; thenfor i in {a..d}; do echo -n /dev/sd\$i ; hdparm -i /dev/sd\$i | grep "Model"; done
else echo "   /sbin/hdparm is not present"
fi
echo " "
echo "Disk Space:"
echo " "
df -h | grep -v qpkg | grep -v grep
echo " "
echo "Mount Status:"
echo " "
mount | grep -v qpkg
echo " "
echo "RAID Status:"
echo " "
cat /proc/mdstat
echo " "
#echo "QNAP Media Scanner / Transcoder processes running: "
#echo " "
#/bin/ps | grep medialibrary | grep -v grep
#echo " "
#echo -n "MediaLibrary Configuration file: "
#ls -alF /etc/config/medialibrary.conf
#echo " "
#echo "/etc/config/medialibrary.conf:"
#cat /etc/config/medialibrary.conf
echo " "
echo "Memory Information:"
echo " "
cat /proc/meminfo | grep Mem
echo " "
echo "NASReport completed on \$(date +'%Y-%m-%d %T') ($0)"
EOF
/tmp/nasreport >>/tmp/nasreport.email
cat /tmp/nasreport.email | sendmail -t
#rm -f /tmp/nasreport.email
echo "Done."
#done

上面这段脚本来自:http://forum.qnap.com/viewtopic.php?f=24&t=99093
我在脚本中加了一条:

echo “NAS WLAN IP address:” $(curl http://members.3322.org/dyndns/getip)

这句就是打印NAS外网地址,其实它上方的一句(echo "NAS IP address:)也是包含外网地址的。所以脚本可选修改吧。

然后保存脚本,例如叫nasreport.sh,并使用 chmod +x nasreport.sh 赋予执行权限。
此时nasreport.sh的完整路径就是:

/share/homes/admin/nasreport.sh

最后,添加定时任务。大家知道Linux的定时任务是在crontab里添加。

vi /etc/config/crontab

通过以上命令打开crontab,然后添加一句定时任务语句,如下:

即:

0 7 * * * /share/homes/admin/nasreport.sh

这句表示在每天早上7点,自动执行nasreport.sh这个脚本。而nasreport.sh的作用就是把带有WLAN IP的邮件发到你指定的邮箱。

OK,最后,应用并重启crontab:

下面是收到的上报邮件:

OK,通过这种方式,我就可以不用担心外网IP变化了。

当然,上面的脚本可以做一点优化,就是记录当前外网IP,脚本从每天改为每小时或者更短时间执行一次,当发现当前外网IP和上次记录的IP不同时,才发送通知邮件。后续有空的时候再实践吧。

QNAP(威联通)每天自动通过邮件上报外网IP相关推荐

  1. 8T磁盘阵列文件存储服务器 威联通,NAS私有云老司机折腾体验记 篇八:QNAP 威联通TR-004磁盘阵列外接盒使用教程...

    NAS私有云老司机折腾体验记 篇八:QNAP 威联通TR-004磁盘阵列外接盒使用教程 2019-03-19 11:38:24 25点赞 232收藏 28评论 之前,为了追求极佳的笔记本使用体验,笔者 ...

  2. QNAP 威联通磁盘分区探索与数据导出

    之前晒了一单Qnap的TS-231,并且讲了我的一些基本偏好设置.这篇文档打算介绍一下Qnap的磁盘分区情况以及在NAS突然挂掉的情况,如何使用移动硬盘盒来紧急导出内容. QNAP 威联通 TS-23 ...

  3. linux导出分区的数据,QNAP 威联通磁盘分区探索与数据导出

    QNAP 威联通磁盘分区探索与数据导出 2015-06-20 08:06:35 162点赞 692收藏 109评论 之前晒了一单Qnap的TS-231,并且讲了我的一些基本偏好设置.这篇文档打算介绍一 ...

  4. QNAP威联通NAS搭建SFTP服务,并内网穿透实现公网远程访问

    文章目录 1. 威联通NAS启用SFTP 2. 测试局域网访问 3. 内网穿透 3.1 威联通安装cpolar内网穿透 3.2 创建隧道 3.3 测试公网远程访问 4. 配置固定公网TCP端口地址 4 ...

  5. php背景自动切换图片,威联通NAS自动更换背景图片

    威联通NAS自动更换背景图片 2019-12-23 13:45:38 0点赞 5收藏 0评论 如何才能快速换一种生活方式?参加#牛年Flag#征稿活动,征集你2021年的购物学习生活计划!>&g ...

  6. qnap刷android tv,QNAP威联通TAS-168268全球唯一QTS + Android 双系统NAS诞生

    全球唯一双系统NAS 威联通®科技 (QNAP® Systems, Inc.)发表全球唯一搭载QTS与Android™双系统Combo NAS TAS-168与TAS-268,独家储存架构,所有文件与 ...

  7. qnap威联通作文件服务器,QNAP威联通NAS 架设FTP服务器.docx

    QNAP威联通NAS 架设FTP服务器 QNAP威联通NAS 架设FTP服务器轻松架设一台属于自己的文件传输服务器(FTP Server)文件传输服务器(FTP Server):让你方便的分享与交换大 ...

  8. QNAP威联通公网IPV4访问

    家用NAS在外访问 使用设备 1.电信光猫 2.路由器 3.QNAP威联通 4.公网IP 5.域名 步骤 我的设备连接情况是 光猫–>路由器–>QNAP威联通 一.准备公网IP 1.电信的 ...

  9. 入门级NAS QNAP 威联通 TS-228 浅度评测

    文章目录 这里介绍下我对TS-228的使用,给大家做些参考. 说下使用中比较不理想的几点: 年前随着国内各大云盘的关停(最近又有多家手机云也相继关闭).个人云慢慢的进入了大家的视野,而张大妈上各种黑群 ...

最新文章

  1. 字节流数据的写出(输出)和读取(输入)
  2. Windows10远程访问Jupyter notebook
  3. SecureCRT脚本之WaitForString函数
  4. 解析IntelliJ IDEA内部设计
  5. SQLServer附加数据库提示“版本为661,无法打开,支持655版本……”
  6. 066:ORM查询条件详解-startswith和endswith:
  7. matlab中循环读入文件内容,[转载]Matlab利用load循环读入数据文件
  8. 如何启动一个新的cmd窗口并在其内执行命令
  9. Java_管家婆项目(三十一)——管家婆家庭记账软件(项目环境搭建、功能模块、代码)、后附网盘链接
  10. “磁碟机”病毒疫情紧急!已有超过5万台电脑被感染
  11. macbook pro进水紧急处理方案以及维修建议
  12. java中的三目运算
  13. 跟着团子学SAP PS-前台篇-WBS元素介绍及相关操作 CJ20N
  14. 计算机知识传播策划书,关于计算机知识活动的策划书
  15. 2019伯克利中美峰会 | 2019峰会揭秘 峰会历程回顾 售票通道
  16. python基础教程视频纸飞机_叠飞机怎么叠
  17. 龙珠激斗获取服务器信息中,龙珠激斗战力220000贝吉塔快速获得途径攻略汇总详解...
  18. 喵呜:C语言实现猜数字游戏
  19. GB/T 7714-2005参考文献规范[转]
  20. connection closed gracefully问题

热门文章

  1. 内网渗透--基于密码的破解提权
  2. SpringMVC注解
  3. Python循环语句中的else
  4. Laravel集成Swoole教程
  5. I2C和EEPROM
  6. 计算机毕业设计之java+springboot基于vue的私人健身与教练预约管理系统
  7. MATLAB中批量从txt文件中读取指定行的数据保存为txt文件
  8. 【Spark】(task7)PySpark Streaming入门
  9. 一位MM对于男人的精彩评论
  10. 本地预览 @mdi/font Material Design Icons 字体图标库