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 / 2368
Accepted
Gabriel Solomon
Gabriel Solomon
Asked: 2010-08-17 00:25:04 +0800 CST2010-08-17 00:25:04 +0800 CST 2010-08-17 00:25:04 +0800 CST

Como configuro um trabalho Cron?

  • 772

Quero agendar uma tarefa para ser executada regularmente e ouvi dizer que o Cron é a maneira de fazer isso.

Como adiciono trabalhos Cron no Ubuntu?

cron
  • 8 8 respostas
  • 1217228 Views

8 respostas

  • Voted
  1. Best Answer
    LassePoulsen
    2010-08-17T00:39:17+08:002010-08-17T00:39:17+08:00

    Coloque um script de shell em uma destas pastas: /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthlyou /etc/cron.weekly.

    Se isso não for suficiente para você, você pode adicionar tarefas mais específicas, por exemplo, duas vezes por mês ou a cada 5 minutos. Acesse o terminal e digite:

    crontab -e
    

    Isso abrirá seu crontab pessoal (arquivo de configuração do cron). A primeira linha desse arquivo explica tudo! Em cada linha você pode definir um comando a ser executado e seu agendamento, e o formato é bem simples quando você pega o jeito. A estrutura é:

    minute hour day-of-month month day-of-week command
    

    Para todos os números que você pode usar listas, por exemplo, 5,34,55no campo de minutos significará correr às 5, 34 e 55, independentemente da hora definida.

    Você também pode usar intervalos. Eles são definidos assim: */20. Este exemplo significa a cada 20, então na coluna de minutos é equivalente a 0,20,40.

    Então, para executar um comando toda segunda-feira às 5:30 da tarde:

    30 17 * * 1 /path/to/command
    

    ou a cada 15 minutos

    */15 * * * * /path/to/command
    

    Observe que o dia da semana vai de 0 a 6, onde 0 é domingo.

    Você pode ler mais aqui .

    • 767
  2. Li Lo
    2010-08-17T00:58:21+08:002010-08-17T00:58:21+08:00

    Se o trabalho que você deseja executar puder ser executado com os mesmos privilégios do seu usuário, recomendo usar um usuário crontab que você pode editar executando EDITOR="gedit" crontab -e(que usará o gedit para editar o arquivo crontab) ou simplesmente crontab -e(que usará o editor padrão) em um terminal.

    Se você quiser executar algo a cada 10 minutos, por exemplo, adicione uma linha como esta

    */10 * * * * /usr/bin/somedirectory/somecommand
    

    e salve o arquivo.

    Você pode ver o conteúdo do crontab do usuário com crontab -l.

    Para adicionar um cron job executado como root, você pode editar o crontab do root executando sudo crontab -e.

    A maneira mais flexível é usar o crontab do sistema, /etc/crontabque você pode editar apenas com privilégios de root. Neste arquivo, cada comando do usuário deve ser executado conforme especificado, para que você possa executar seus comandos como root (caso precise desse nível de privilégio) ou qualquer outro usuário no sistema.

    Por exemplo, se você quiser executar algo a cada 10 minutos como root, adicione uma linha como esta

    */10 * * * * root /usr/bin/somedirectory/somecommand
    

    (observe a adição do usuário à linha)

    Você pode ver o conteúdo do arquivo crontab do sistema com a extensão cat /etc/crontab.

    Mais detalhes em: https://help.ubuntu.com/community/CronHowto

    • 112
  3. Javier Rivera
    2010-08-17T01:21:17+08:002010-08-17T01:21:17+08:00

    Se preferir fazer isso usando uma GUI, você pode acessar o Centro de Software e instalar as tarefas agendadas (ou executar sudo apt-get install gnome-schedule). Ele fornecerá uma GUI poderosa para adicionar tarefas cron.

    Observe que, se você usar esse método, as tarefas por padrão serão executadas como seu próprio usuário, não como root. Isso geralmente é uma coisa boa.

    • 55
  4. gertvdijk
    2013-02-01T15:59:51+08:002013-02-01T15:59:51+08:00

    Eu recomendo o Agendador de Tarefas do KDE ( kde-config-cron) Instale o kde-config-cron . Acesse-o nas configurações do sistema no módulo Agendador de tarefas .

    Ele gerencia os Crontabs pessoais e do sistema, e a facilidade de criar os limites de tempo me surpreendeu muito (veja a captura de tela abaixo). Eu acho que essa parte é muito subestimada.

    insira a descrição da imagem aqui

    • 26
  5. Craig van Tonder
    2016-09-28T12:25:14+08:002016-09-28T12:25:14+08:00

    Eu queria definir um trabalho Cron para ser executado por meio de um script bash, portanto, a execução do script adicionaria um trabalho cron.

    Percebi que quando você faz uso de:

    crontab -e 
    

    Em seguida, ele cria o arquivo:

    /var/spool/cron/crontabs/root

    Onde root é o nome do usuário que está executando o comando crontab. Portanto, com base nisso e pelo menos no 14.04, podemos executar os seguintes comandos bash para criar um novo trabalho Cron:

    echo "30 17 * * 1 /path/to/command" > /var/spool/cron/crontabs/root
    

    Também precisamos definir a propriedade correta para o arquivo:

    chown root:root /var/spool/cron/crontabs/root
    

    E defina as permissões corretas:

    chmod 600 /var/spool/cron/crontabs/root
    

    Se quando você executar crontab -ejá houver trabalhos Cron na lista, você poderá anexar à lista usando o seguinte comando:

    echo "30 17 * * 1 /path/to/command" >> /var/spool/cron/crontabs/root
    
    • 13
  6. Antonio
    2014-02-12T06:35:58+08:002014-02-12T06:35:58+08:00

    O Agendador de Tarefas do KDE não funcionará no Ubuntu normal. Funciona apenas em sistemas KDE como o KUbuntu. Para sistemas não KDE você irá preferir usar o gnome-schedule

    $ sudo apt-get install gnome-schedule
    

    O aplicativo é tarefas agendadas no Dash.

    • 12
  7. Alexander
    2018-11-18T01:41:48+08:002018-11-18T01:41:48+08:00

    Exemplo de execução de script test_cron.shpelo cron a cada minuto no Ubuntu 18.04 usando link simbólico:

    test_cron.shArquivo:

    #!/bin/bash
    echo "System backuped" >> /media/myname/data/backup/backup_tmp.log
    

    Se você quiser usar variáveis ​​de ambiente em seu script como $USERnos caminhos, é melhor digitar o caminho preciso, o bash não conhecerá suas variáveis ​​em tempo de execução.

    mynameé o nome de usuário (parte do grupo root, não tenho certeza se os privilégios de root são necessários).

    Permitir que os usuários definam tarefas cron, o arquivo será criado se necessário:

    sudo nano /etc/cron.allow
    
    root
    myname
    

    O caminho para o script é/home/myname/shell/test_cron.sh

    Eu mudei o proprietário e tornei executável:

    sudo chown myname /home/myname/shell/test_cron.sh
    chmod +x /home/myname/shell/test_cron.sh
    

    Eu adicionei link simbólico:

    sudo ln -s /home/myname/shell/test_cron.sh /usr/bin/test_cron
    

    Logado como mynameeu adicionei nova tarefa para executar a test_croncada minuto.

    crontab -e
    
    */1 * * * * test_cron
    

    Para verificar se o comando na lista:

    crontab -l
    
    */1 * * * * test_cron
    

    Para verificar a execução

    grep -i cron /var/log/syslog
    
    Nov 17 12:28:01 myname-ubuntu CRON[13947]: (myname) CMD (system-backup)
    
    • 6
  8. Nagesh Mhapadi
    2020-04-08T10:59:30+08:002020-04-08T10:59:30+08:00

    Considerando que você tem vários cron jobs com um usuário específico e eles não compartilham o mesmo agendamento. Você pode simplesmente criar um arquivo em /etc/cron.d/ Vamos dizer que o nome do arquivo é myjobs, então, basta escrever todos os seus agendadores nesse arquivo e, em seguida, executar o seguinte comando.

    crontab -u <username> /etc/cron.d/myjobs

    • 0

relate perguntas

Sidebar

Stats

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

    Como adicionar um diretório ao PATH?

    • 17 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Marko Smith

    Como faço para obter a temperatura da CPU?

    • 21 respostas
  • Marko Smith

    Como posso adicionar um usuário como um novo sudoer usando a linha de comando?

    • 7 respostas
  • Marko Smith

    Alterar permissões e propriedade da pasta

    • 9 respostas
  • Marko Smith

    Como você reinicia o Apache?

    • 13 respostas
  • Marko Smith

    Como posso desinstalar o software?

    • 11 respostas
  • Marko Smith

    Como os PPAs podem ser removidos?

    • 26 respostas
  • Martin Hope
    justingrif Como adicionar um diretório ao PATH? 2009-07-23 12:42:23 +0800 CST
  • Martin Hope
    NES Como habilitar ou desabilitar serviços? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    Olivier Lalonde Como manter os processos em execução após encerrar a sessão ssh? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B Como posso adicionar um usuário como um novo sudoer usando a linha de comando? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans Como removo versões antigas do kernel para limpar o menu de inicialização? 2010-08-21 19:37:01 +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