`

First Python-Linux SSH登录短信通知

 
阅读更多

  

  脚本语言目前发展很快,python流行度也越来越大,对我而言,脚本语言主要作为系统的粘合剂,一般不做主体业务逻辑的开发,但作为系统管理,整合程序还是不错的。所以,今天开始学习python,有点懒,因为有个小需求:linux下SSH远程登录后,发送短信通知管理员。原来一般使用shell直接完成,今天学习python,就作为第一个hello world试试。花了尽2个小时,完全根据程序逻辑需求通过google查语法(怎么定义程序,if,字符串处理等,哈哈),终于完成。记录下咱的first python程序哈。

 

#!/usr/bin/python
import time
import base64
import urllib
import httplib
import os
import sys

mobileNos=138xxxxxxxx
def sendSms(mobileNo,content):
    url = "/api/......"
    queryString=urllib.urlencode({"mobileNo": mobileNo, "content": content, "username":"aaaaa", "password":"xxxxxx"})
    conn = httplib.HTTPConnection("192.168.xxx,xxx")
    conn.request("GET",url+"?"+queryString)
    response = conn.getresponse()
    conn.close()

def logger(log):
    f=open('lm.log','a+')
    print >> f, log
    f.close()

def loginNotify():
    client = os.getenv("SSH_CLIENT")
    if client is None:
        return
    clientInfo = client.split(' ')
    ip = clientInfo[0]
    now = time.strftime('%Y-%m-%d %H:%M:%S')
    user = os.getenv("USER")
    hostname = os.getenv("HOSTNAME")
    log = now + " - " + user + " login " + hostname +  " from " + ip
    logger(log)
    sendSms(mobileNos,log)

if __name__ == "__main__":
    loginNotify()

 

分享到:
评论

相关推荐

    Python Network Programming Cookbook, 2nd Edition - 2017

    core networking library with various small tasks and enables you to create your first clientserver application. Chapter 2, Multiplexing Socket I/O for Better Performance, discusses various useful ...

    python全套面试题

    * `ssh`:远程登录服务器 * `man`:显示手册页 2. find 和 grep 的区别: `find` 命令用于搜索文件,而 `grep` 命令用于搜索文件内容。 3. 阻塞和非阻塞: 阻塞(Blocking)是指一个线程或进程等待某个事件或...

    Linux装机必读

    - **远程Shell访问**: 使用`ssh-copy-id <remote-compute>`将公钥复制到远程机器,以便无密码SSH登录。 以上知识点涵盖了从硬件准备、系统安装、常用命令使用、环境配置到软件包管理等方面的内容,是Linux初学者和...

    SecureCRT9.0.rar

    《SecureCRT 9.0:实现高效串口调试与DCN Linux管理的得力助手》 SecureCRT是一款强大的远程终端仿真程序,专为系统管理员、网络工程师和开发人员设计,提供安全的SSH、Telnet、Serial等协议的连接。在最新的9.0...

    Python Cookbook, 2nd Edition

    Getting the First Few Smallest Items of a Sequence Recipe 5.9. Looking for Items in a Sorted Sequence Recipe 5.10. Selecting the nth Smallest Element of a Sequence Recipe 5.11. Showing off ...

    vmware unlocker 2.0.6最新版(vm虚拟机破解安装Mac OS)

    Once uploaded you will need to either use the ESXi support console or use SSH to run the commands. Use the unzip command to extract the files. <<< WARNING: use a datastore volume to run the scripts >...

    飞思卡尔Imx6开发板Linux系统官方指南(Yocto 版本 )

    1. **环境设置**:首先,确保你的开发机器上安装了必要的依赖,包括Git、Python、GCC编译器等。然后,克隆Yocto项目的源代码仓库,并根据飞思卡尔IMX6的硬件配置选择合适的Yocto版本。 2. **配置Yocto**:创建并...

    程序员文摘第52期-精选最有价值的文章

    SSH (Secure Shell) 提供了安全的远程登录功能。通过SSH密钥对实现登录,可以避免每次登录都需要输入密码,提高安全性。配置SSH密钥登录包括生成公钥和私钥,将公钥复制到远程服务器的授权文件中,然后就可以无密码...

    程序员文摘第55期-精选最有价值的文章

    【SSH秘钥登录】 SSH (Secure Shell) 是一种网络协议,用于安全地远程登录服务器。通过设置秘钥对登录,可以免去每次输入密码的麻烦,提高工作效率并增强安全性。 【OSPF链路状态路由协议】 OSPF (Open Shortest ...

    程序员文摘第45期-精选最有价值的文章

    8. **SSH秘钥登录**:SSH(Secure Shell)是远程登录的安全协议,秘钥登录通过公钥和私钥对进行身份验证,比传统的密码登录更安全。 9. **OSPF链路状态路由协议**:OSPF(Open Shortest Path First)是一种内部网关...

    程序员文摘第25期-精选最有价值的文章

    8. **SSH密钥登录**:SSH(Secure Shell)提供安全的远程登录。实现密钥登录可以避免每次连接时输入密码,提高安全性。配置包括生成公钥和私钥,将公钥添加到远程主机的`~/.ssh/authorized_keys`文件。 9. **OSPF...

    Sams.Ubuntu.Unleashed.Aug.2006.part1

    Chapter 5 First Steps with Ubuntu Chapter 6 The X Window System Chapter 7 Managing Software Chapter 8 On the Internet: Surfing the Web, Writing Email, and Reading the News Chapter 9 Productivity ...

    UsbKeyboardDataHacker:USB键盘流量包取证工具 , 用于恢复用户的击键信息

    To use this python script , you must install the tshark first. You can use `sudo apt-get install tshark` to install it Author : WangYihang If you have any questions , please contact me by email....

    Sams.Ubuntu.Unleashed.Aug.2006.part2

    Part I: Installation and Configuration Chapter 1 Introducing ...Chapter 26 LDAP Part IV: Programming Linux Chapter 27 Using Perl Chapter 28 Working with Python Chapter 29 Writing ...

Global site tag (gtag.js) - Google Analytics