服务器定时发送IP地址到邮箱
目录
- 前言
- 服务器操作系统
- 发送邮件方法
- 编写脚本
- 开机启动项执行
- 定时发送
前言
因为寒假要离校(舍不得学校的热水和球场),担心服务器被断电重启后的IP地址发生变化,于是和实验室的小伙伴心生一计,打算每次重启发送当前的IP地址到邮箱,这样就不用担心IP地址发生变化了。
为了防止学校断网不断电导致的IP地址变化,后来又改成了定时发送邮件,现在把两种方法都列出来以供参考。
服务器操作系统
# 查看操作系统信息
cat /etc/issue
Ubuntu 18.04.5 LST
发送邮件方法
我也是参考的别人的文章,详细的教程主要参考烂泥:ubuntu下配置msmtp+mutt发送邮件,有想了解更细节的朋友们可以直接点击链接查看。
这里我详细讲解我的傻瓜式流程。首先安装mutt和msmtp,如下:
安装软件包
# msmtp就可以提供一般的邮件服务了
# mutt也是调用了msmtp,但更方便用户使用邮件功能
sudo apt-get install msmtp mutt
邮箱授权码
然后,我们会需要一个当前邮箱服务器的SMTP服务授权码,比如我使用的是163的邮箱,我们将在这里开启SMTP服务的授权码:
然后选择开启,通过手机短信等验证方式验证,记录下最后得到的授权码(我拿自己的邮箱尝试的,所以mask一些部分),这样我们在邮箱上操作的部分就结束了。
msmtp发送邮件
我一般习惯使用vim编写文件,有的人会用vi,这个看个人习惯,编写的代码如下:
# 创建msmtp.log文件
sudo vim /var/log/msmtp.log
# 创建msmtprc文件
sudo vim /etc/msmtprc
/etc/msmtprc 内容如下:
defaults
tls on
# /var/log/msmtp.log 记录邮件发送的详细信息
logfile /var/log/msmtp.log
# 这个可以自己定义,与account default一致即可
account fatekong
# 设置邮件的服务器,这里设置了163后,只能发送给163的邮箱
host smtp.163.com
port 25
# "fatekong@163.com"是示范邮箱
from fatekong@163.com
auth login
tls off
# "fatekong@163.com"是示范邮箱
user fatekong@163.com
# "Authorization code"填写自己邮箱得到的授权码,输入时没有
password "Authorization code"
account default: fatekong
~
~
由于在上面文件中有password这个敏感信息,为了安全,我们对这个文件的权限进行设置,设置完成后就可以进行尝试验证,如果成功就表示没什么问题,如果失败,检查上面的步骤有没有问题,或者留言,我看到会帮助一起解决。
sudo chmod 600 /etc/msmtprc
echo "Subject: 【Test】\r\n\r\nThis is a test." |msmtp -d -C /etc/msmtprc -t fatekong@163.com
mutt发送邮件
个人人为mutt比msmtp更加方便,并且能传输更多东西,不过我就传个IP就不搞的那么花里胡哨了,下面简单介绍下mutt发送文件内的内容(想知道更多的可以瞅瞅这篇正式的介绍「Mutt」:命令行的邮件大师 (一文详解))。
首先设置mutt的配置文件Muttrc:
sudo vim /etc/Muttrc
/etc/Muttrc 内容如下:
set sendmail="/usr/bin/msmtp"
set use_from=yes
# "realname"可以填写你像设置该服务器的名称
set realname="realname"
set editor="vim"
设置好这些,我将需要发送的内容全部存储在一个文件里,获取文件的内容发送邮件信息,创建一个名称为serverIp的文件存储在*/var/log/里,绝对路径为:/var/log/serverIp*,将文件内容发送给邮件的代码如下:
cat /var/log/serverIp|mutt -s "【Test】" fatekong@163.com
检查自己邮箱,一般来说上面的步骤没有问题就没有问题了(如果上面或下面遇到权限的问题,可以通过chmod命令修改权限来解决)。
编写脚本
由于是Linux系统,shell脚本还是最方便的,我们在/home/文件夹下创建一个名为serverIp.sh的脚本文件,将里面的内容编辑如下:
#!/bin/bash
echo "send e-mail"# 将ifconfig得到的IP信息存储到/var/log/serverIp的文件中
# 这里一定要加/sbin/,因为在crontab里面执行需要的是绝对路劲,
# ifconfig这种命令也不例外
# 如果没有加/sbin/,得到的全是内容为空的输出
/sbin/ifconfig > /var/log/serverIp# 通过mutt,获取/var/log/serverIp文件的内容,以title为"【Title】",内容为
# serverIp存储的信息,发送给邮箱fatekong@163.com
cat /var/log/serverIp |mutt -s "【Title】" fatekong@163.com# 上面这两句可以合成一句,这样就可以省略:/var/log/serverIp这个文件
/sbin/ifconfig |mutt -s "【Title】" fatekong@163.com
为了验证这个脚本是否成功,可以尝试直接运行脚本:
./serverIp.sh
开机启动项执行
设置开机启动项的方法有很多,详情可查看这篇博客Linux—添加开机启动(服务/脚本)。我在其中选择了最简单的方法,弊病就是,每个用户登录的时候都会启动一次,因为最后没有使用这个方案,所以我也没改
服务器定时发送IP地址到邮箱相关推荐
- 土法炼钢:服务器定时汇报IP地址给我
我家里面的服务器,每过两天会自动重新拨号,所以公网IP地址天会变的. 而一旦IP地址发生变化,我就没有办法从公网访问我家里的服务器了. 怎么办呢? 1. 在另外一台公网服务器上放一个php程序 myi ...
- nc服务器修改过ip地址,nc服务器修改过ip地址
nc服务器修改过ip地址 内容精选 换一换 虚拟IP地址用于为网卡提供第二个IP地址,同时支持与多个弹性云服务器的网卡绑定,从而实现多个弹性云服务器之间的高可用性.登录管理控制台.选择"计算 ...
- 金蝶服务器怎么修改ip地址,金蝶服务器账套ip地址修改
金蝶服务器账套ip地址修改 内容精选 换一换 如果要自定义裸金属服务器的DNS服务器信息,需要将裸金属服务器网络设置为静态IP.若将动态DHCP改为静态IP设置,IP和网关等网络信息必须和裸金属服务器 ...
- 网站服务器的ip地址会变吗,网站的服务器变了 IP地址变吗
网站的服务器变了 IP地址变吗 内容精选 换一换 本文介绍通过华为云市场镜像"Drupal内容管理系统(LAMP)"搭建Drupal网站的方法.Drupal是使用PHP语言编写的开 ...
- 华为服务器查看虚拟ip,裸金属服务器管理虚拟IP地址
裸金属服务器管理虚拟IP地址 内容精选 换一换 计费项包括裸金属服务器.云硬盘(可选).弹性公网IP(可选),详细说明如表1所示.裸金属服务器计费模式为包年包月付费,不支持按量付费.其中付10个月费用 ...
- Mac/Linux系统连接远端服务器以及相同IP地址的服务器账号密码重置,ssh失败问题
连接远端服务器 ssh 账号@IP地址 输入完成之后会提示输入密码,密码输入正确后,就可以连接成功了 重置ssh密钥 如果连接的服务器除了IP地址没有改变,其余的账号.密码.系统等都变了的话,因为曾经 ...
- 通过ip能查服务器型号,通过ip地址查服务器归属
通过ip地址查服务器归属 内容精选 换一换 Atlas 200 DK开发者板支持通过USB端口或者网线与Ubuntu服务器进行连接,连接示例图如图1所示.Atlas 200 DK连接Ubuntu服务器 ...
- 通过ip地址查询远程服务器系统,通过ip地址查询远程服务器系统
通过ip地址查询远程服务器系统 内容精选 换一换 日志记录了系统的运行情况和功能流程的处理情况,是维护人员查看系统状态.进行问题定位的重要工具和手段.日志模块根据系统设置的日志级别,记录不同详细程度的 ...
- 如何获得使用PHP的服务器的本地IP地址?
我正在开发一个只能在本地networking上运行的PHP应用程序. 应用程序将使用自定义安装程序安装到服务器,就像使用Stunnix高级Web服务器所做的一样. 作为使应用程序更加用户友好的一部 ...
最新文章
- 语义分割--Understanding Convolution for Semantic Segmentation
- 免费的400GB网络存储空间
- 搜索引擎设计实用教程(3)-以百度为例
- 文件锁操作《精通Unix下C语言编程与项目实践》之三
- 如何解决IE地址栏前小图标不显示问题
- servlet需要和ajax,如何使用Servlet和Ajax?
- C语言---二进制和文本文件的备份
- Wazuh--一个完善的开源EDR产品
- mysql分组统计查询 张三_MySQL 怎样分组查询
- 自动按键 回车 变成_【按键大扫荡】驾驶员的“眼”
- CAP:Alantany 谈 CAP
- Android开发-高德地图导航
- (每日一练c++)CC114 有效的数独
- 中国经济能否率先复苏
- 基于 Petri 网的软件过程支撑环境设计
- 出线后,谈中国足球的苟且与远方
- Android中的MVVM架构设计-实用篇(五)实现RecyclerView列表展示
- 常见破解软件的优秀替代免费软件
- 堆排HeapSort
- 前端之JS篇(一)——计算机基础JS简介