pyqt5实现连接linux后台获取dm8data路径大小并循环判断当大小大于2G的时候停止1sh脚本;当大小小于2G的时候继续执行1sh脚本
以下是使用PyQt5实现连接Linux后台,获取路径大小并判断的示例代码:
import paramiko
from PyQt5.QtWidgets import QApplication, QMessageBox
def check_disk_size():
# 连接Linux后台
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('your_linux_server_ip', username='your_username', password='your_password')
# 执行命令获取路径大小
stdin, stdout, stderr = ssh.exec_command("du -sh /dm8/data")
result = stdout.read().decode('utf-8').split()[0]
# 关闭SSH连接
ssh.close()
return result
def stop_script():
# 执行停止脚本命令
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('your_linux_server_ip', username='your_username', password='your_password')
ssh.exec_command("bash 1.sh stop")
ssh.close()
def continue_script():
# 执行继续脚本命令
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('your_linux_server_ip', username='your_username', password='your_password')
ssh.exec_command("bash 1.sh continue")
ssh.close()
def main():
app = QApplication([])
while True:
disk_size = check_disk_size()
if disk_size > '2G':
stop_script()
QMessageBox.warning(None, '警告', '路径大小已超过2G,已停止1.sh脚本')
break
else:
continue_script()
QMessageBox.information(None, '信息', '路径大小小于2G,继续执行1.sh脚本')
app.exec_()
if __name__ == '__main__':
main()
注意替换代码中的your_linux_server_ip、your_username和your_password为实际的Linux服务器IP地址、用户名和密码。
以上代码使用paramiko库连接Linux后台并执行命令,使用PyQt5库显示消息框来提示用户。循环中通过调用check_disk_size函数获取路径大小,然后根据大小判断执行停止脚本或继续脚本的命令,并弹出相应的消息框提示用户。当路径大小大于2G时,停止循环并停止1.sh脚本;当路径大小小于2G时,继续循环并继续执行1.sh脚本
原文地址: http://www.cveoy.top/t/topic/iljV 著作权归作者所有。请勿转载和采集!