import os import subprocess from mailer import Mailer servers = [5, 7, 9, 10, 12, 18, 19, 23, 24, 25, 26, 27, 30] GOOGLE_OWNER = "snsd0805@cmlab.csie.ntu.edu.tw" GOOGLE_CODE = os.environ['GOOGLE_CODE'] if __name__ == '__main__': mailer = Mailer(GOOGLE_OWNER, GOOGLE_CODE) msg = "
"
    msg += "Every Wednesday 00:30\n" + '- ' * 30 + '\n'
    for server in servers: 
        ssh_key = "/auto/extra/unixmanager5xx/id_rsa_cml"
        command = f'ssh cml{server}.csie.ntu.edu.tw -4 -i {ssh_key} -o StrictHostKeyChecking=no -o LogLevel=QUIET -o ConnectTimeout=3 -T tmpstat'
        print(command)
        
        msg += f"cml{server}\n"
        output = subprocess.getoutput(command)
        if output:
            partitions = output.split('\n')
            for partition in partitions:
                device, size, used, available, used_percent, mount = partition.split()
                percent_num = int(used_percent[:-1])
                if percent_num >= 90:
                    color = 'red'
                elif percent_num >= 80:
                    color = 'orange'
                else:
                    color = 'green'

                msg += f'        {mount} {used.rjust(6)}/{size.ljust(6)}({used_percent.rjust(4)}) has {available.rjust(5)} remaining\n'
                print(f"    {mount} {used.rjust(6)}/{size.ljust(6)}({used_percent.rjust(4)}) has {available.rjust(5)} remaining")
            msg += '- ' * 30 + '\n'
        else:
            msg += '        Not Working\n' + '- ' * 30 + '\n'
            print(f"    Not Working")

    msg += "
" mailer.send('unix_manager@cmlab.csie.ntu.edu.tw', 'unix_manager@cmlab.csie.ntu.edu.tw', 'CML Server /tmp Usage Weekly Report', msg)