HEX
Server: Apache
System: Linux vpshost0650.publiccloud.com.br 4.4.79-grsec-1.lc.x86_64 #1 SMP Wed Aug 2 14:18:21 -03 2017 x86_64
User: bandeirantesbomb3 (10068)
PHP: 8.0.7
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: //bin/lwmyctrl
#!/usr/bin/python

import argparse
import sys

from lwdbadmin.mysql import libmysql


def parse_args():
    parser = argparse.ArgumentParser(description='MySQL command line for Locaweb machines')

    # comandos
    subparsers = parser.add_subparsers(dest='command', help='commands help')
    criar_parser = subparsers.add_parser('criarbase', help='criar uma base nova')
    remover_parser = subparsers.add_parser('removerbase', help='remover uma base')
    ativar_parser = subparsers.add_parser('ativarbase', help='reativar uma base')
    desativar_parser = subparsers.add_parser('desativarbase', help='desativar uma base')
    trocasenha_parser = subparsers.add_parser('trocasenha', help='troca a senha de um usuario')
    status_parser = subparsers.add_parser('statusbase', help='retorna se uma base esta ativa / desativada')

    # TODO: para depois
    #tamanho_parser = subparsers.add_parser('tamanhobase', help='retorna o tamanho de uma base')
    #criarusuario_parser = subparsers.add_parser('criarusuario', help='criar usuario adicional, sem uma base')
    #removerusuario_parser = subparsers.add_parser('removerusuario', help='remover usuario adicional, sem uma base')
    matarconexoes_parser = subparsers.add_parser('matarconexoes', help='matar todas as conexoes de um usuario')

    criar_parser.add_argument('base', type=str, help="Nome da base")
    criar_parser.add_argument('login', type=str, help="Login da base")
    criar_parser.add_argument('senha', type=str, help="Senha do cliente")
    criar_parser.add_argument('osuser', type=str, default=None, nargs='?', help="Usuario do SO (default None)")
    criar_parser.add_argument('host', type=str, default="%", nargs='?', help="Host (default '%%')")

    remover_parser.add_argument('base', type=str, help="Nome da base")

    ativar_parser.add_argument('base', type=str, help="Nome da base")

    desativar_parser.add_argument('base', type=str, help="Nome da base")

    trocasenha_parser.add_argument('login', type=str, help="Login do cliente")
    trocasenha_parser.add_argument('senha', type=str, help="Nova senha")

    status_parser.add_argument('base', type=str, help="Nome da base")

    matarconexoes_parser.add_argument('login', type=str, help="Nome do usuario")

    return parser.parse_args()


if __name__ == '__main__':
    args = parse_args()

    try:
        if args.command == 'criarbase':
            libmysql.createdatabase(args.base, args.login, args.senha, args.host, args.osuser)

        elif args.command == 'removerbase':
            libmysql.removedatabase(args.base)

        elif args.command == 'ativarbase':
            libmysql.activatedatabase(args.base)

        elif args.command == 'desativarbase':
            libmysql.deactivedatabase(args.base)

        elif args.command == 'trocasenha':
            libmysql.setpassword(args.login, args.senha)

        elif args.command == 'statusbase':
            if libmysql.isactive(args.base):
                print "A base esta ativa"
            else:
                print "Base desativada"

        elif args.command == 'matarconexoes':
            x = libmysql.killqueries(args.login)
            print "{0} conexoes do usuario {1} terminadas".format(x, args.login)

        else:
            raise Exception("No command error")
    except Exception, e:
        print str(e)
        sys.exit(1)