def backup_bmc_config(self): path = BMCInterface.ACTIVE_BMC_IF.value cmd = f"cat {path}" bmc_interface, error, retcode = SimpleProcess(cmd).run() if retcode != 0: print(f"command:{cmd} not executed successfully") return # bmc_interface = b'\x80\x03X\x06\x00\x00\x00systemq\x00.\n' # fetch interface key and value from bmc_interface active_bmc_IF_key = path # parse string b'\x80\x03X\x06\x00\x00\x00systemq\x00.\n' to fetch bmc interface value if b"system" in bmc_interface: active_bmc_IF_value = bmc_interface.replace( bmc_interface, b"system").decode() elif b"lan" in bmc_interface: active_bmc_IF_value = bmc_interface.replace(bmc_interface, b"lan").decode() return active_bmc_IF_key, active_bmc_IF_value
def get_system_uptime(): """Get system uptime data.""" cmd = '/usr/bin/uptime -p' system_uptime = SimpleProcess(cmd).run()[0].decode('utf-8').strip() # Output: 'up 2 weeks, 2 days, 23 hours, 37 minutes' system_uptime = system_uptime.replace('up ', '') load_average = psutil.getloadavg() # Output: (1.62, 1.45, 0.99) load_average = f'{load_average[0]}, {load_average[1]}, {load_average[2]}' data = { 'current_time': time.strftime('%H:%M:%S', time.gmtime()), 'system_uptime': system_uptime, 'logged_in_users': f'{len(psutil.users())} users', 'load_average': load_average } return data