系统相关
首页 > 系统相关> > linux 下通过python与crontab 进行获取ip并定时发送给邮箱

linux 下通过python与crontab 进行获取ip并定时发送给邮箱

作者:互联网

1、检查是否安装crontab

apt-get install cron

 

 

 说明以及安装过了

一般cron检索的crontab文件。这个文件在默认情况下:/etc/crontab

执行文件在 /etc/init,d/cron

重启:  /etc/init.d/cron    restart

 

 

2、检查安装python

 apt-get instll python

 

获取ip以及发送邮箱的功能

#!/bin/bash
import os
# smtplib 用于邮件的发信动作
import smtplib
# email 用于构建邮件内容
from email.mime.text import MIMEText
#获取ipv6地址
ip6s = [ip.split('/')[0] for ip in os.popen("ip addr | grep 'inet6 '|awk '{print $2}'").readlines()]
#获取ipv4地址
ip4s = [ip.split('/')[0] for ip in os.popen("ip addr | grep 'inet '|awk '{print $2}'").readlines()]

# 发信方的信息:发信邮箱,QQ 邮箱授权码
from_addr = '发信方的信息'
password = 'QQ 邮箱授权码'

# 收信方邮箱
to_addr = '收信方邮箱'

# 发信服务器
smtp_server = 'smtp.qq.com'
msg_text   = 'ipv4地址集:   '+str(ip4s)+'\n\n'+'ipv6地址集:     '+str(ip6s)
# 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码
msg = MIMEText(msg_text,'plain','utf-8')


server = smtplib.SMTP_SSL(smtp_server)
server.connect(smtp_server,465)

server.login(from_addr, password)

server.sendmail(from_addr, to_addr, msg.as_string())
# 关闭服务器
server.quit()

 

linux crontab记时事件:

 

 

 python在文件里的执行目录一定需要写为  完全路径

 

 

最后的验证

 

标签:addr,python,ip,crontab,server,发信,邮箱
来源: https://www.cnblogs.com/Mrlu-998/p/16214854.html