Como saber o load average no seu sistema

A carga média de trabalho do sistema, no Linux, pode ser encontrado em um dos muitos arquivos de log do sistema de arquivos /proc.
Especificamente, o arquivo a que me refiro é o seguinte:


cat /proc/loadavg

1.07 1.52 1.87 3/707 26057

Outra forma de obter os valores é executando o comando uptime:


uptime

 16:17:29 up 1 day,  6:45,  1 user,  load average: 0,75, 1,16, 1,64

Estes valores são usados pelo comando batch, para determinar qual a melhor hora para executar tarefas determinadas pelo administrador do sistema.
Ainda no terminal, é possível ter uma visualização destes valores (em gráficos) com o comando tload ou com o xload (GUI).
tload linuz
Na imagem, abaixo, veja um exemplo do xload:
xload
Por padrão, o xload atualiza seus valores a cada 10 segundos. Para obter uma atualização a cada 1 segundo, use a opção ‘-update’


xload -bg black -fg green -update 1

No exemplo acima, usei as opções ‘-bg black’ e ‘-fg green’ para definir o fundo da janela para negro e o primeiro plano para verde.

Como agendar tarefas no Linux para quando a máquina ficar ociosa.

Se você quiser rodar programas ou agendar atividades para horários opostos aos de pico do sistema, ou seja, quando estiver (razoavelmente) ocioso, o comando batch é a solução.
Tarefas agendadas através deste utilitários serão executadas automaticamente quando a média da carga de trabalho do sistema estiver abaixo de 0.8 — no meu sistema (Debian 9.0 Stretch o valor padrão é 1.5.
É possível ajustar este número no atd ou no atrun, se ele não for satisfatório.
Use man, combinado com o comando grep, para saber qual o valor no seu sistema:


man batch | grep -i average

               other  words,  when the load average drops below 1.5,
       processing rules with respect to load average apply.  If  atq

O batch faz parte do pacote do comando at — clique para obter mais detalhes.
Você pode restringir acesso ao at e ao batch, inscrevendo os nomes de usuários no arquivo /etc/at.deny.
Para alterar o valor referente à carga média de trabalho do sistema, abaixo do qual o batch já pode começar a executar as tarefas listadas, use o comando atd:

atd -l x

Substitua x pelo valor desejado.
Este comando necessita de privilégios administrativos.
Ao rodar o comando batch, ele entrará no modo prompt, pedindo para que você forneça tarefas a serem executadas, uma por linha.
Ao terminar de listar os comandos, tecle ‘Ctrl + D’ (^D).


batch

warning: commands will be executed using /bin/sh
at> espeak -v pt "Estou ocioso, no momento, patrão!"
at> espeak -v pt "Me dê algo para fazer."
at> ^D 
job 20 at Thu Sep 14 15:22:00 2017

Esta é a maneira de rodar o comando. Ele não aceita parâmetros, como o comando at.

Referências

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/s1-autotasks-at-batch.html.

http://www.tutorialspoint.com/unix_commands/batch.htm

https://kb.iu.edu/d/aewo.

Use o comando at para agendar tarefas no Linux

O Cron não é a única maneira de agendar atividades no Linux.
O comando at permite agendar rapidamente uma tarefa, sem a necessidade de editar a tabela do crontab.


Se tiver interesse, leia mais sobre o cron.
Se precisa definir rapidamente um momento para o sistema realizar uma tarefa, o comando at é uma boa alternativa.
Infelizmente, em alguns sistemas, o comando não vem instalado por padrão — o que pode impossibilitar seu uso em servidores aos quais você não tem acesso com privilégios administrativos, para fazer novas instalações (como o seu provedor de hospedagem, por exemplo).
Para instalar no Debian (ou em outras distribuições baseadas nela), use o apt:

sudo apt install at

O pacote inclui os utilitarios at, batch, atq, atrm — para enfileirar comandos, examinar e/ou apagar tarefas agendadas etc.
Veja um exemplo simples de execução, com o uso do comando history:


at now

warning: commands will be executed using /bin/sh
at> history
at> 
job 4 at Thu Sep 14 10:44:00 2017

Neste caso, o comando será executado imediatamente (now), tão logo termine a edição do at.
Você pode inserir vários comandos Linux, um a cada linha.
Quando terminar de enfileirar linhas de comando, tecle Ctrl + D (^D), para finalizar.
Para agendar um comando para execução daqui a dois minutos:


at now + 2 min

warning: commands will be executed using /bin/sh
at> espeak -v pt "O tempo de dois minutos acabou de expirar, capitão!"
at> ^D 
job 9 at Thu Sep 14 10:54:00 2017

Veja como agendar backup de um diretório para daqui a 3 minutos:


at now + 3 min

warning: commands will be executed using /bin/sh
at> espeak -v pt "Iniciando o backup do diretório de scripts"
at> tar cvzf backup.tz scripts/
at> espeak -v pt "o backup foi finalizado."
at> 
job 12 at Thu Sep 14 11:01:00 2017

Outras formas de agendamento de tarefas com o comando at, no Linux

Há outras maneiras de agendar tarefas com o comando at, que permitem maior flexibilidade na escolha do momento da execução.
Veja alguns exemplos, que podem ser readequados ao seu caso:

  • at 11:08 AM September 14 2017 — Agende a execução da tarefa para uma data e hora específicas. Neste caso: 11:08, 14 de Setembro de 2017.
  • at now + 1 hours — Execução agendada para daqui a duas horas.
  • at now +24 hours — agendamento para o dia seguinte, nesta mesma hora.
  • at 8:00 PM tomorrow — agendamento para amanhã (tomorrow), 8h da noite.
  • at now + 2 years — agendamento para daqui a 2 anos.

Quando o comando não consegue “entender” a hora/data oferecida, ele vai retornar a mensagem “Garbled time!“.
Há outras formas de especificar hora e data, para falantes da língua inglesa. Veja alguns exemplos:

  • noon — meio dia.
  • midnight — meia noite.
  • tomorrow — se especificado sozinho, o at já sabe que você se refere a hora atual, sé que amanhã.
  • noon tomorrow — amanhã, meio dia.
  • next week — próxima semana.
  • next month — próximo mês.
  • next friday — próxima sexta-feira.
  • now + 3 weeks — daqui a 3 semanas, neste mesmo horário.
  • AUG — em Agosto, nesta mesma data e hora.

Como verificar as tarefas agendadas no sistema

Você verificar os trabalhos enfileirados com a opção ‘-l’ ou com o comando atq:


at -l

14  Thu Sep 14 13:09:00 2017 a justincase
16  Thu Sep 14 11:17:00 2017 a justincase

O número exibido na primeira coluna é a ID de cada tarefa agendada.
O comando atq e suas variantes, só irá listar as tarefas do seu usuário.
Para obter informações sobre todos os usuários no sistema, rode o comando com privilégios de superusuário.

Como cancelar uma tarefa

Você pode indicar a ID de um item, que ainda não foi executado, para cancelamento, com o comando atrm ou com uma das opções ‘-r’ ou ‘-d’:


at -r 14

Como agendar uma lista de comandos dentro de um arquivo

Você pode listar todas as tarefas que deseja executar, uma por linha, dentro de um arquivo texto.
Em seguida, por entregar o arquivo para o at.
Veja o meu arquivo:


cat comandos.txt 

whiptail --backtitle "Importante!"  --title "mensagem" --msgbox "minha linda mensagem" 7 30

espeak -v pt "Por favor, dê atenção a esta importante mensagem."

Para fazer com que o at execute estas tarefas, use a opção ‘-f’:


at -f comandos.txt now

Referências

https://unix.stackexchange.com/questions/97882/why-do-we-need-the-at-command-in-linux.

https://www.computerhope.com/unix/uat.htm.

Variáveis de ambiente no Linux

As variáveis de ambiente são usadas para armazenar valores, que podem ser usados por scripts, executados a partir da shell.
Algumas variáveis de ambiente já fazem parte do sistema. Outras podem ser criadas por você.
No Bash, há 2 tipos de variáveis de ambiente ou (environment variables):

  1. locais — visíveis apenas dentro da shell, na qual foram criadas.
  2. globais — visíveis a todos os processos em execução numa shell.

Você pode usar o comando printenv, para ver quais são e como estão definidas as variáveis globais no seu ambiente atual:
Veja algumas das minhas:


printenv

LS_COLORS=di=7;32:fi=32:ln=4;32:pi=5;32:so=5;32:bd=5;32:cd=5;32:or=5;32:mi=5;32:ex=1;32:*.png=1;4;32:*.jpg=1;4;32
XDG_MENU_PREFIX=gnome-
LANG=pt_BR.UTF-8
GDM_LANG=pt_BR.UTF-8
DISPLAY=:0
COLORTERM=truecolor
USERNAME=justincase
DESKTOP_SESSION=gnome-xorg
WINDOWPATH=2
TERM=xterm-256color
SHELL=/bin/bash
VTE_VERSION=4602
XDG_CURRENT_DESKTOP=GNOME
GDMSESSION=gnome-xorg
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
PATH=/opt/Komodo-Edit-10/bin:/opt/Telegram/Telegram:/usr/local/bin:/usr/bin:/bin:/usr/games
_=/usr/bin/printenv

Para ver apenas uma das variáveis, use o comando echo:


echo $HOME

/home/justincase

Experimente ver outras variáveis no seu sistema.
Depois, experimente criar sua primeira variável de sistema:


meusite="https://elias.praciano.com"

echo $meusite

https://elias.praciano.com

Fique atento: os nomes das variáveis são sensíveis à caixa (case sensitive).
Por isso, $meusite e $MEUSITE são coisas totalmente diferentes.
variáveis de ambiente sistema linux

Como prática recomendada, use sempre as letras minúsculas, para nomear as suas variáveis.
Assim você evita confusão com as variáveis do sistema.

Antes de abordarmos o próximo tópico, vale lembrar que as variáveis declaradas em uma sessão ou dentro de uma janela de um console não terão validade em outra sessão ou console.

Como declarar uma variável global

Para definir uma variável global, é necessário declarar (como você já deve saber) uma variável local.
Depois disto, a exportamos com o comando export:


autor='Elias Praciano'
echo $autor

Elias Praciano

export autor

Note que não se usa o ‘$’ à frente do nome da variável, quando a passamos para o comando export.
O último passo, para tornar uma variável persistente entre as sessões, é editar o arquivo ~/.bashrc.
Inclua, ao final dele, a linha com o comando export:


export autor='Elias Praciano'

Após este procedimento, a variável autor poderá ser sempre invocada no seu sistema, com o valor ‘Elias Praciano” — ou até você mudar o seu valor ou remover a linha do arquivo .bashrc.

Como descartar variáveis de ambiente no Linux

O comando unset pode ser usado para remover variáveis da memória do sistema:


echo $autor

Elias Praciano

unset autor
echo $autor

Remova também as declarações referentes à variável do seu arquivo .bashrc, ou ela ressurgirá na próxima sessão.

Método de instalação do Tails Linux em pendrive, via Ubuntu ou Mint.

O tails-installer é um aplicativo feito pelos desenvolvedores do sistema operacional Tails.
Baseado na versão mais atual do Debian, é um projeto voltado para usuários comuns e profissionais que necessitam ter um nível de privacidade, mas não querem (ou não sabem) se dar ao trabalho de configurar o seu sistema para isto.

O Tails é um Debian, que já vem com as configurações de privacidade, que você precisa, prontas.

Já abordei como instalar este aplicativo no Debian.
Neste post, vou mostrar como instalar o tails-installer no Ubuntu e no Linux Mint.
Nestes 2 sistemas, o aplicativo pode ser obtido através de PPAs.
Há vários motivos para não usarmos PPAs, como metodologia de instalação de novos programas, mas acredito que este caso vale como uma exceção.
tails oficial logo
Sugiro iniciar o download da imagem do Tails, enquanto você continua a leitura deste artigo, a partir deste site: https://tails.boum.org/index.pt.html.

Como instalar a PPA, para Ubuntu e Mint

Abra um terminal e adicione a PPA:


sudo add-apt-repository ppa:tails-team/tails-installer

Em seguida, sincronize o sistema com o repositório:


sudo apt update

… e faça a instalação do utilitário:


sudo apt install tails-installer

Agora, você já pode encontrar o tails-installer a partir dos menus do sistema, do Dash ou apenas rodá-lo da linha de comando:


tails-installer

Na tela de apresentação, selecione a opção “Install”.
tails-installer instalação ou atualização
Agora, siga estes passos:

  1. Selecione a imagem do Tails que você baixou anteriormente.
  2. Selecione corretamente a localização do seu pendrive.
  3. Verifique se as informações estão corretas. O próximo passo irá formatar completamente o dispositivo de armazenamento que você selecionou, acima.
    Se tudo estiver OK, clique em “Install Tails”.

tails-installer
O processo irá demorar (menos de) 15 minutos para ser concluído e pedir que você se autentique para realizar algumas tarefas administrativas no seu pendrive.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Referências

Leia outros posts sobre o Tails.
https://tails.boum.org/install/debian/usb/index.en.html.