推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
firejoke
V2EX  ›  Python

一个在远程主机自动修改网卡的脚本, 带回滚

  •  
  •   firejoke · Sep 8, 2020 · 2201 views
    This topic created in 2208 days ago, the information mentioned may be changed or developed.

    当初为了修改远程主机网卡配置写的一个脚本, 可以配合 fabric 在页面上修改远程主机的网卡配置
    最开始只做了 redhat 系的网卡配置文件的解析和修改, 现在做了 debian 系的适配
    支持网卡配置修改和 bond 网卡创建(bond 在 redhat 系下测试效果不错, debian 系还没测几次)
    如果是远程调用的话, 可以用 nohup, 避免阻塞, 然后在重新连上后, 查看 /tmp/下 network-interfaces-stdout 和 network-interfaces-stderr 这两个临时文件内的输出结果
    git 地址

    python /tmp/network/network_interface.py --help             
    usage: network_interface.py [-h] [--netifaces] [--alter name, config json]
                                [--tty 1 or 0]
    
    You must run as root!
    
    optional arguments:
      -h, --help            show this help message and exit
      --netifaces           get network interfaces
      --alter name, config json
                            Alter network interfaces config, new config must be
                            json string
      --tty 1 or 0          1: Output to terminal, 0: tmp file(/tmp/network-
                            interfaces-std*), default: 0
    
    e.g.:
    get network interfaces config
        python network_interface.py --netifaces
    alter network interface config
        python network_interface.py --alter ens33 '{"ip_address": ["192.168.50.1", ....],
        "gateway": "192.168.50.254", "dns": ["1.2.4.8", ...]}'
        or
        python network_interface.py --alter ens37 '{"reset_dhcp": 1}'
        or
        python network_interface.py --alter ens37 '{"reset_promisc": 1}'
        python network_interface.py --alter ens37 '{"reset_none": 1}'
    remote
        $(nohup python /tmp/network/network_interface.pyc --alter 'json str' >& /dev/null < /dev/null &) && sleep 1
    
                """
    
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2524 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:27 · PVG 15:27 · LAX 00:27 · JFK 03:27
    ♥ Do have faith in what you're doing.