發表文章

目前顯示的是 8月, 2019的文章

系統工程師神器!如何讓Python在Linux上執行ssh(三)pyinstaller環境建置@Sunny的工程師日記

        近期因為專案的關係,必須同步更新多台Linux設備的程式,但每次要更新3台以上設備就會讓我頭很痛,所以花了一些時間找辦法讓我更新的步驟能夠更快速更簡單。因此我使用了Python Paramiko套件來實現ssh及sftp的工作,實現佈建環境自動化的功能。         上一篇講完如何使用Python來實現ssh及sftp等工具,這一篇來講述如何將撰寫完成的Python程式碼轉為.exe執行檔或是Linux執行檔,實現任何設備都可以執行的動作。 系統需求: Linux。 Python 3.X版本。 Python pip。 Pyinstaller套件。 建置方式: 1.更新Python的pip到最新的版本。 python3 -m pip install --upgrade pip 2.安裝pyinstaller套件。 pip3 install pyinstaller 3.完成安裝後,建立HelloWorld.py。 vi HelloWorld.py 4.撰寫程式碼。 print('hello world') 5.將HelloWorld.py編譯成一個執行檔。 pyinstaller -f HelloWorld.py 6.進入dist資料夾執行程式。 cd dist/ ./HelloWorld 以上為安裝步驟Pyinstaller的安裝及操作,下一篇會提到如何將上一篇所提到的ssh及sftp工具編譯成執行檔並實際運用。 以上如有任何問題,歡迎留言與我討論。

系統工程師神器!如何讓Python在Linux上執行ssh(二)Python Paramiko程式運行@Sunny的工程師日記

        近期因為專案的關係,必須同步更新多台Linux設備的程式,但每次要更新3台以上設備就會讓我頭很痛,所以花了一些時間找辦法讓我更新的步驟能夠更快速更簡單。因此我使用了Python Paramiko套件來實現ssh及sftp的工作,實現佈建環境自動化的功能。 系統需求: Linux。 Python 3.X版本。 Python pip。 Paramiko套件。 程式碼: 1.ssh操作。 #!/usr/bin/python # coding:utf-8 import paramiko import configparser def readini(): print("hello!") try: config = configparser.ConfigParser() config.read('upload.ini') address = config.get('REMOTE', 'ipaddress') port = config.get('REMOTE', 'port') username = config.get('REMOTE', 'username') userpwd = config.get('REMOTE', 'password') suserpwd = config.get('REMOTE', 'sudo_password') command = config.get('REMOTE', 'command') except Exception as e: print('\033[91m<<< Read configuration FAIL! >>>\033[0m', e) print('IMPORT INI SUCCESS.') # readini() port = 22 ssh = paramiko.SSHClient() ssh.set