AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1157939
Accepted
POMATu
POMATu
Asked: 2019-07-13 15:19:40 +0800 CST2019-07-13 15:19:40 +0800 CST 2019-07-13 15:19:40 +0800 CST

executar script em baixa energia do UPS

  • 772

Eu conectei meu UPS ao Ubuntu e ele é reconhecido. No entanto, não gosto das opções que vejo nas configurações de energia do Ubuntu. Eu tenho outro PC também conectado ao mesmo UPS. Então, eu quero que a área de trabalho do Ubuntu execute o script quando a energia estiver em cerca de 50%, para que meu segundo PC também possa hibernar corretamente. E então eu posso hibernar meu PC Ubuntu com o mesmo script.

É possível fazer isso da maneira que não está quebrando a implementação do ubuntu do monitor UPS? Eu li que posso instalar o nut mas tenho alguns erros, talvez seja um conflito

● nut-monitor.service - Network UPS Tools - power device monitor and shutdown controller
   Loaded: loaded (/lib/systemd/system/nut-monitor.service; enabled; vendor preset: enabled)
   Active: failed (Result: protocol) since Sat 2019-07-13 02:09:46 MSK; 11ms ago
  Process: 13906 ExecStart=/sbin/upsmon (code=exited, status=0/SUCCESS)

Talvez eu possa pegar alguma mensagem dmesg ou verificar o status do UPS com alguma ferramenta nativa?

power-management hibernate ups nut
  • 1 1 respostas
  • 735 Views

1 respostas

  • Voted
  1. Best Answer
    WinEunuuchs2Unix
    2019-07-13T17:02:51+08:002019-07-13T17:02:51+08:00

    O Ubuntu acompanha automaticamente o status de todas as baterias:

    Status das baterias do Ubuntu

    As mesmas informações exibidas na tela GUI acima também podem ser acessadas a partir do seu terminal / shell / script bash (todos são a mesma coisa de várias maneiras).

    Para obter as mesmas informações do CLI, use:

    $ upower -i $(upower -e | grep -i UPS)
      native-path:          /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.2/1-1.2:1.0/usbmisc/hiddev2
      vendor:               CPS
      model:                CP550HGa
      serial:               BFBB104#BI1.g
      power supply:         yes
      updated:              Fri 12 Jul 2019 06:35:56 PM MDT (12 seconds ago)
      has history:          yes
      has statistics:       yes
      ups
        present:             yes
        state:               fully-charged
        warning-level:       none
        time to empty:       25.5 minutes
        percentage:          100%
        icon-name:          'battery-full-charged-symbolic'
    

    Em seguida, para reduzi-lo ao uso percentual:

    $ upower -i $(upower -e | grep -i UPS) | grep -i percentage
        percentage:          100%
    

    Em seguida, para extrair a segunda coluna, use:

    $ upower -i $(upower -e | grep -i UPS) | grep -i percentage | cut -d':' -f2
              100%
    

    Em seguida, para extrair apenas dígitos e eliminar espaços à esquerda e % à direita, use:

    $ upower -i $(upower -e | grep -i UPS) | grep -i percentage | sed 's/[^0-9]*//g'
    100
    

    Agora atribua o que você deseja a uma variável e exiba-a:

    $ PERCENT=$(upower -i $(upower -e | grep -i UPS) | grep -i percentage | sed 's/[^0-9]*//g')
    $ echo $PERCENT
    100
    

    O próximo passo é escrever um script algo assim

    #!/bin/bash
    
    while true; do
        PERCENT=$(upower -i $(upower -e | grep -i UPS) | grep -i percentage \
            | sed 's/[^0-9]*//g')
        if [[ "$PERCENT" -lt 50 ]] ; then
            # email my cell phone
            mail -s "Electricity grid has shut down, run home" [email protected]
            # text my cell phone
            curl -X POST https://textbelt.com/text --data-urlencode \
                phone="999-333-4567" --data-urlencode \
                message="Electricity grid has shot down, run home" -d key=textbelt
        fi
        sleep 300 # Sleep for 5 minutes to reduce resource usage
    done
    
    • enviar e-mail para celular: Use o comando mail
    • mensagens de texto para celular: como posso enviar mensagem de texto para celular do terminal?

    Este é um script que eu usaria, no seu caso adapte-o para hibernar (tenho um laptop para nunca hibernar). Meu no-break é para ventilador de janela, não para laptop que tem bateria própria e fica suspenso quando estou no trabalho. A tecnologia pode ser usada de forma diferente por pessoas diferentes.

    • 1

relate perguntas

  • Como fazer com que a mensagem "Sua bateria está quebrada" desapareça?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve