Transcrição do áudio
É coleguinha, vamos agarrar um pouquinho aqui hoje, pois a IA está arrebentando aqui no uso de memória. Peraí, deixa eu reduzir o áudio aqui para não perder o som de fundo. Legal. Bom, vamos agora, eu ia falar sobre adicionar na inicialização, decidi trocar os capítulos de ordem aqui. Vamos falar sobre como agendar tarefas, como eu posso dizer ali, ou tarefas para serem executadas em dado momento. Pois o trunfo da TI é tirar o ser humano da jogada. Sério. Porque se depender do ser humano ficar muitas horas na frente da máquina, ele vai fazer merda. Então, como nós fazemos? Nós pegamos. Pegamos uma extração da máquina virtual que está com problema, tudo se evitou. Nós analisamos o problema, provavelmente vamos testar alguns comandos, porque se eu soubesse a solução, talvez já nem teria tido problema, essa é a verdade. E aí descobrimos o problema, executamos os comandos que corrigem o problema, apaga a máquina virtual, reimporta a máquina virtual, faz o script, testo, legal, apaga a máquina virtual, roda o script. De novo, funcionou, legal. Tudo no teste, tudo em ambiente de teste. Nós usamos o GNS3 para essa história. E aí, sabe o que acontece? Script pronto. Colocamos em produção, em produção nós ficamos o mínimo possível. E aí nós agendamos a execução. Nós não podemos rodar nada às 3 da tarde, a não ser que às 3 da tarde nada esteja funcionando. Caiu tudo, acabou, não tem mais nada, fudeu tudo, está todo mundo puro. Tudo. Aí você roda. Não, cara. É uma correção que, se executada, vai para outras coisas e aí sim vai trazer um problema para nós. Então nós agendamos isso para ser executado de madrugada. E aí ficamos atentos a isso. Nós temos dois tipos de agendamento, o agendamento recorrente e o agendamento futuro apenas. Vamos falar sobre o agendamento recorrente. Uma backup, uma verificação. Então você pode utilizar o Chrome. O Chrome é ancestral do mundo Linux. Se você olhar, ele é um daqueles caras que são carregados ali na inicialização do sistema pelo Systemd. Então sobe o Chrome como um serviço. É um daqueles que ele é muito robusto, ele não falha. Essa é a verdade. O teu script é rápido. Não impacta o... A execução do Chrome. Tudo funcionando, que funcionava. Teu script cagado aqui não vai funcionar. Simples assim. Como funciona? O Chrome dorme. O Chrome acorda. Quando ele acorda, ele vai no sistema e busca alguns arquivos de configuração. Então ele vai lá no sistema, busca os arquivos de configuração, carrega na memória. Carrega a crontab dos usuários que estão logados, autenticados e logados. Carrega. Então ele executa essas ações e dorme. Então ele fica nesse ciclo a cada um minuto. A cada um minuto ele faz isso. Um minuto. Um minuto. O crontab do sistema você altera com um nano mesmo. É um arquivo idiota. Já a crontab de usuário é recomendado usar um comando chamado crontab tudo minúsculo. Quando eu fiz essa imagem acabei cagando aqui, deixando o C maiúsculo. Crontab é um arquivo e crontab ele é um comando. Sério, são duas coisas diferentes. Uma grande cagada. É igual aquele cara que colocou o nome dos filhos, exatamente o mesmo nome. E é o mesmo pai. Então um cometeu o crime e o outro que foi preso. E aí foi difícil. Isso aconteceu lá na Bahia. Então o cara criou um arquivo executável chamado cron. E altera um arquivo de texto chamado cron. Parece que você não dá vontade de dar uma porrada num cara desse. Poxa, poderia ter chamado de cronconf cara. Cronconf, olha só. Cron é o da, é o dimon. Cronconf, arquivo de configuração. Crontab seria o programa cara. Pô. Bom. Se você digitar no seu Linux. sudo systemctl status cron.service Ele vai mostrar que o serviço está rodando. Você pode parar o cron senhor. O cron está fazendo um monte de merda no seu sistema. E aí pô, você tem que verificar aquilo tudo. E você não sabe o que está acontecendo. Então a primeira coisa que você faz é o sudo systemctl stop cron.service. E aí você para o cron. Quero voltar, corrigiu o problema. Quero voltar. sudo systemctl start cron.service. Ele reinicia o cron. Tudo bem? O cron então, ele consegue executar comandos para múltiplos usuários. E já vou explicar essa questão agora de múltiplos usuários. Vamos falar primeiro. Vamos falar primeiro dos arquivos de cron do usuário comum. Não estou falando do root não. Usuário comum. Você não executa esse comando como sudo. Você executa simplesmente crontab. crontab. Traço L de listar. Então ele vai listar todos os arquivos de configuração do usuário. Do usuário. Edita. Você edita o arquivo de configuração do usuário. L você lista a crontab do usuário. E R você remove. Então, você usuário pode criar sua própria crontab. Sem ser sudo. Porém, o que você for executar só pode impactar na sua área. E o que você tem de permissão de acesso. Isso é importante. Aqui veja um script básico de backup. O que ele vai fazer. Ele vai pegar o usuário logado. Beleza. E ele vai transformar em um tar. E guardar lá em backup. E ele vai criar aqui o date. Com esse label aqui. Simples. Script básico de backup. Beleza. Gostaria que ele agendasse todo dia. Por exemplo. Então, dá para a gente fazer ele. Agendar para você executar todo dia ou meio dia. Por exemplo. É um exemplo. Seramod. Mais x. Script. E aí você como usuário. Sem su. Esse é o script. Crontab traço e. Só vai funcionar para você também. E aí ele vai criar um arquivo. E ele vai falar assim. Oh, você quer criar esse arquivo com que editor? Bom, nano né. Vim ao diabo. Certo. Coloca lá nano. Padrão é nano. E aí você escreve. Cara, é bem pesado isso aqui. Tá. A cada minuto. A cada hora. A cada minuto. A cada hora. Cada dia. Né. Mês. Dia da semana. Não importa. Você vai executar o script. De backup. Cara, a cada minuto. Hein cara. Por que que eu coloquei a cada minuto? Cara, eu coloquei a cada minuto para você testar. Você não vai agendar para ser amanhã meio dia e vai esperar até amanhã meio dia. Talvez. Seja onze e cinquenta e nove aí no seu computador. Talvez sim. Tá. Então como que funciona essa linha? Oh. Minuto. Todos os minutos. Minuto um, minuto dois, minuto três, minuto quatro. Hora. Todas as horas. Hora um, hora dois, hora três, hora quatro. Dia. Qualquer dia do mês. Dia um, dia dois, dia três, dia quatro. De qualquer mês. Janeiro, fevereiro, março, abril, maio. De qualquer dia da semana. Domingo, segunda, terça, quarta, quinta, sexta. Sábado e domingo. Eu vou repetir. Domingo. Segunda, terça, quarta, quinta, sexta, sábado. E domingo de novo. Eu sei que são sete dias. Mas tem oito entradas aqui. É uma merda cara. Não dá para dar uma porrada em alguém. Às vezes. Enquanto é. E. O. Comando. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Que. Aí eu quero que imprima só a 1 e a 10 1,10 Aqui é igualzinho Tá? Regras básicas aqui igual impressora Essa aqui é a crontab do usuário Se você fizer isso aqui Vai funcionar pra você Você não tocou a mão E não relou em nada proibido TMP você pode, já vimos E o seu diretório você pode Então show de bola Tá? Aqui eu tenho A crontab do sistema Aqui é diferente Aqui é do sistema como um todo E naturalmente eu tenho múltiplos usuários De serviço Então Eu vou dizer pra vocês Nós vamos precisar de uma coluna extra Qual usuário vai executar Desculpe Qual usuário vai ser utilizado pra rodar o comando Só isso Que foi adicionado na crontab do sistema A crontab do sistema Só pode ser manipulada pelo root Então funciona assim No minuto 17 De todas as horas Como o root vai executar isso aqui No minuto 25 Das 6 da manhã Como o root vai executar isso aqui Então são os Comandos aqui Beleza? Tá E aí você pode naturalmente Criar variáveis de ambiente Você ó O path tá sendo adicionado Tá vendo aqui ó Path é igual A tudo isso aqui Desculpa O path aqui foi criado O shell foi modificado O shell foi modificado pra sh Em vez de bash Entendeu? Então você pode manipular as variáveis de ambiente Esse cara funciona como script E aonde está esse arquivo? O path do arquivo é o etc Crontab Scratch ETC crontab Esse aqui é o arquivo Só o root pode manipular esse arquivo Para escrita Leitura qualquer usuário pode Beleza? Tá Acontece que você poderia naturalmente No caso aqui dos usuários Que não podem Manipular suas Prescron Você pode simplesmente Por padrão todo mundo pode Você pode negar A sua Que algumas pessoas Tenham acesso a crontab deles Ou você pode negar E criar uma lista de permissão É simples É um arquivo corrido por nome de usuário Cada usuário que você permite ou nega É uma linha Username Usa o username Próximo comando é o web Até lá Até mais