segunda-feira, 20 de maio de 2019

Rodando uma aplicação via ShellScript e jogando o terminal para segundo plano.

Em algum momento da vida de um usuário iniciante, ele começa a fazer pequenos programas usando o modo texto. Ou seja, ele começa a se utilizar do ShellScript.

Normalmente vai ser feito um pequeno script para efetuar um backup que será automatizado via crontab, ou mesmo um que irá simplesmente compactar arquivos e jogar para uma pasta específica, enfim sempre tem uma hora para a iniciação do sujeito que sai do mundo exclusivamente visual para o poderoso bash.

Neste momento, imagine que você precisa compactar arquivos jogar em um diretório qualquer e finalmente renomeá-lo manualmente para depois movê-lo para um diretório de arquivo.

Algo assim:

#!/bin/bash
echo Arquivamento de documentos
echo
cd /home/usuarioXYZ/Arquivo
zip Arquivar.zip *
mv Arquivar.zip ..
rm *
thunar /home/
usuarioXYZ/
clear
exit

Veja que os arquivos do diretório do usuário (usuarioXYZ/Arquivo) são compactados e enviados para o diretório imediatamente acima ( .. ) deixando o diretório original sempre vazio para entrada de novos arquivos.

Finalmente é chamado o thunar (gerenciador de arquivos) para que usuário faça o que quiser com o arquivo compactado.

Se for criado um link simbólico, funcionará perfeitamente transparente para o usuário caso abra ele através do modo visual, entretanto, se for rodar a partir do terminal, um incomodo poderá acontecer, dependendo de sua distro. Será aberto o thunar direitinho mas caso você queira fechar a janela do terminal, ela vai automaticamente fechar o thunar (herança / processo).

Para que isso não aconteça, basta acrescentar o caracter "&" e então o terminal será enviado para segundo plano, abrindo o thunar de forma independente, o usuário então estará livre para usar não somente a janela que foi aberta do thunar, como também o terminal que estará a disposição para uma outra tarefa qualquer.

Este caracter deve ser acrescentado na linha que chama o thunar (em verde no exemplo), assim:
...
thunar /home/usuarioXYZ/ &
...

Sei que é um exemplo muito simples, mas acaba por quebrar um galho naquele scriptzinho dos colegas por aí.


_______________________________________________
Seja simples, seja livre - Use Linux

quinta-feira, 9 de maio de 2019

Utilizando o CRONTAB no linux para agendar suas tarefas.

Tenho scripts de backup ou tarefas que sejam repetitivas, ou simplesmente quero que o computador abra alguma aplicação em determinado dia, horário, enfim... Quer agendar uma tarefa, simples, CRONTAB.

Não vou reinventar a roda, o Cleiton Bueno escreveu um site muito claro e bem fácil de aprender a lidar com este poderoso app do Linux, portanto, vale o Link, não será necessário reescrever o mesmo artigo. Só uma coisa que eu acho que deve ser dita:

Para configurar o seu (usuário) CRONTAB, use o comando "crontab -e" e na primeira vez escolha seu editor preferido, o meu é o nano.

Para mostrar seu CRONTAB use o comando "crontab -l"

Veja abaixo a imagem mais famosa de como montar sua tabelinha do CRONTAB (clique na imagem para aumentar):

Links:
https://cleitonbueno.com/linux-crontab/
https://canaltech.com.br/linux/cron-facilite-o-agendamento-de-tarefas-no-linux/

Funciona direitinho e fácil... Linux... Simples assim.

Seja Livre, use Linux.