reiniciar manualmente log example ejemplos ejecutar editar ubuntu cron

ubuntu - manualmente - reiniciar crontab



¿Cómo escribir un cron que ejecutará un script todos los días a la medianoche? (5)

He oído que crontab es una buena opción, pero ¿cómo escribo la línea y dónde la pongo en el servidor?


Algunas veces necesitará especificar PATH y GEM_PATH usando crontab con rvm.

Me gusta esto:

# top of crontab file PATH=/home/user_name/.rvm/gems/ruby-2.2.0/bin:/home/user_name/.rvm/gems/ruby-2.2.0@global/bin:/home/user_name/.rvm/rubies/ruby-2.2.$ GEM_PATH=/home/user_name/.rvm/gems/ruby-2.2.0:/home/user_name/.rvm/gems/ruby-2.2.0@global # jobs 00 00 * * * ruby path/to/your/script.rb 00 */4 * * * ruby path/to/your/script2.rb 00 8,12,22 * * * ruby path/to/your/script3.rb


Puede ejecutar el script de shell de dos maneras, ya sea mediante el uso de cron job o escribiendo un script de shell

Supongamos que el nombre de su script es "yourscript.sh"

Primero compruebe el permiso de usuario de la secuencia de comandos. use el comando below para verificar el permiso de usuario de la secuencia de comandos

ll script.sh

Si el script está en la raíz, entonces use el comando debajo

sudo crontab -e

En segundo lugar, si el script mantiene al usuario "ubuntu", entonces use el comando below

crontab -e

Agregue la siguiente línea en su crontab: -

55 23 * * * /path/to/yourscript.sh

Otra forma de hacer esto es escribir un script y ejecutarlo en el backgroud

Aquí está el guión donde debe poner el nombre de su guión (p. Ej .: - youscript.sh) que se ejecutará a las 23:55 p.m.

#!/bin/bash while true do /home/modassir/yourscript.sh sleep 1d done

guárdalo en un archivo (digámoslo "every-day.sh")

sleep 1d - significa que espera un día y luego se ejecuta nuevamente.

ahora da el permiso a tu secuencia de comandos. use below command:

chmod + x every-day.sh

ahora, ejecute este script de shell en segundo plano usando "nohup". Esto seguirá ejecutando el script incluso después de que salga de su sesión.

use el comando below para ejecutar el script.

nohup ./every-day.sh &

Nota: - para ejecutar "yourscript.sh" a las 23:55 p. M. Todos los días, debe ejecutar el script "every-day.sh" exactamente a las 23:55 p. M.


de la página de manual

linux$ man -S 5 crontab cron(8) examines cron entries once every minute. The time and date fields are: field allowed values ----- -------------- minute 0-59 hour 0-23 day of month 1-31 month 1-12 (or names, see below) day of week 0-7 (0 or 7 is Sun, or use names) ... # run five minutes after midnight, every day 5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1 ...

Es bueno tener en cuenta los "apodos" especiales que se pueden utilizar (documentados en la página de manual), particularmente "@reboot" que no tiene alternativa de fecha y hora.

# Run once after reboot. @reboot /usr/local/sbin/run_only_once_after_reboot.sh

También puede usar este truco para ejecutar su trabajo cron varias veces por minuto.

# Run every minute at 0, 20, and 40 second intervals * * * * * sleep 00; /usr/local/sbin/run_3times_per_minute.sh * * * * * sleep 20; /usr/local/sbin/run_3times_per_minute.sh * * * * * sleep 40; /usr/local/sbin/run_3times_per_minute.sh

Para agregar un trabajo cron, puede hacer una de estas tres cosas:

  1. agregue un comando al crontab de un usuario, como se muestra arriba (y desde el crontab, sección 5, página man).

    • edite el crontab de un usuario como root con crontab -e -u <username>
    • o edita el crontab del usuario actual con solo crontab -e
    • Puede configurar el editor con la EDITOR entorno EDITOR
      • env EDITOR=nano crontab -e -u <username>
      • o establece el valor de EDITOR para toda tu sesión de shell
        1. export EDITOR=vim
        2. crontab -e
    • Hacer scripts ejecutables con chmod a+x <file>


  1. crear un script / programa como un trabajo cron y agregarlo a los directorios anacron /etc/cron.*ly anacron

    • anacron /etc/cron.*ly directorios:
      • /etc/cron.daily
      • /etc/cron.hourly
      • /etc/cron.monthly
      • /etc/cron.weekly
    • como en:
      • /etc/cron.daily/script_runs_daily.sh
      • chmod a+x /etc/cron.daily/script_runs_daily.sh - chmod a+x /etc/cron.daily/script_runs_daily.sh ejecutable
    • Ver también la página del man anacron : man anacron
    • Hacer scripts ejecutables con chmod a+x <file>
    • ¿Cuándo se ejecuta este script cron. * Ly?
      • Para RHEL / CentOS 5.x, están configurados en /etc/crontab o /etc/anacrontab para ejecutarse en un tiempo determinado
      • RHEL / CentOS 6.x + y Fedora 17+ los sistemas Linux solo definen esto en /etc/anacrontab , y definen cron.hourly en /etc/cron.d/0hourly


  1. O bien, uno puede crear crontables del sistema en /etc/cron.d .

    • La sintaxis crontab descrita anteriormente (con la adición adicional de un usuario para ejecutar cada tarea como) se coloca en un archivo y el archivo se coloca en el directorio /etc/cron.d.
    • Estos son fáciles de administrar en el empaquetado del sistema (por ejemplo, paquetes RPM), por lo que generalmente pueden ser específicos de la aplicación.
    • La diferencia de sintaxis es que se debe especificar un usuario para el trabajo cron después de los campos de hora / fecha y antes del comando para ejecutar.
    • Los archivos agregados a /etc/cron.d no necesitan ser ejecutables.
    • Aquí hay un trabajo de ejemplo que se ejecuta como el usuario someuser , y el uso de /bin/bash medida que el shell se fuerza.


File: /etc/cron.d/myapp-cron # use /bin/bash to run commands, no matter what /etc/passwd says SHELL=/bin/bash # Execute a nightly (11:00pm) cron job to scrub application records 00 23 * * * someuser /opt/myapp/bin/scrubrecords.php


Aquí hay un buen tutorial sobre qué es crontab y cómo usarlo en Ubuntu. Su línea crontab se verá más o menos así:

00 00 * * * ruby path/to/your/script.rb

( 00 00 indica medianoche - 0 minutos y 0 horas - y el * s significa todos los días de cada mes).

Syntax: mm hh dd mt wd command mm minute 0-59 hh hour 0-23 dd day of month 1-31 mt month 1-12 wd day of week 0-7 (Sunday = 0 or 7) command: what you want to run all numeric values can be replaced by * which means all


Guía rápida para configurar un trabajo cron

Crea un nuevo archivo de texto, por ejemplo: mycronjobs.txt

Para cada trabajo diario (00:00, 03:45), guarde las líneas de programación en mycronjobs.txt

00 00 * * * ruby path/to/your/script.rb 45 03 * * * path/to/your/script2.sh

Envíe los trabajos a cron (cada vez que ejecuta esto, cron elimina lo que se ha almacenado y las actualizaciones con la nueva información en mycronjobs.txt )

crontab mycronjobs.txt

Información útil adicional

Ver trabajos cron actuales

crontab -l

Eliminar todos los trabajos de cron

crontab -r