Notas de estudio crontab de ejecución automática de Linux

  
 En la plataforma Linux, si necesita implementar la función de programación de tareas, puede escribir un script cron para lograrlo. La ejecución de una tarea a una cierta frecuencia Linux iniciará el proceso crond de forma predeterminada. El proceso crond no requiere que el usuario se inicie o apague. El proceso crond es responsable de leer y ejecutar la tarea programada. El usuario solo necesita escribir la secuencia de comandos de programación correspondiente en el archivo de configuración de programación cron. El archivo de programación cron tiene lo siguiente: crontab
cron.d
cron.daily
cron.hourly
cron.monthly
cron.weekly

En lugar de realizar cada mes una vez por semana, puede escribir el crontab correspondiente en el directorio crontab o cron.d. Ejemplo: ejecute el script /opt/bin/test-cron.sh cada minuto. Puede crear un nuevo script echo-date.sh en cron.d con el contenido * /1 * * * * root /opt /bin /test-cron. Sh también puede ejecutar la tarea en el momento especificado. También puede usar el comando at para controlar la ejecución de la tarea en el momento especificado. Por ejemplo: at -f test-cron.sh -v 10:25 donde -f especifica el archivo de script, -v especifica la cotización en tiempo de ejecución: ea946d690b = " lophyxp "] Primero utilice contab -l > contabs.tmp para exportar la configuración de contab. Luego edita el archivo contabs.tmp. Agregue una línea en el siguiente formato: minuto hora día mes semana comando como 10 3 * * 0,6 hola es ejecutar el programa hola todos los sábados y domingos a las 3:10. 15 4 * * 4-6 hola es ejecutar el programa hola de 4 a 15 en punto, de jueves a sábado. Luego use el comando contab contabs.tmp para importar la nueva configuración. En general, no se recomienda modificar directamente los archivos de configuración relevantes en /etc /. El método para iniciar el proceso cron: /etc/init.d/crond start Comience el comando de configuración del proceso cron: chkconfig --add crond método 2: agregue cron al script de inicio: # rc-update agregue vixie-cron defaultcrontab - l # Ver su tarea crontab-e # Editar su tarea crontab-r # Eliminar el contenido de crontab del usuario ejemplo 2: configuración cron del sistema: /etc /crontab A través del archivo /etc /crontab, puede configurar el sistema para que se ejecute regularmente La tarea, por supuesto, para editar este archivo, debe tener privilegios de raíz 0 7 * * * root mpg123 ~ /wakeup.mp3 Ejemplo del mes y la semana del día: 0 4 * * 0 root emerge --sync &&emerge -uD Mundo # 4 am cada domingo, actualice el sistema 0 2 1 * * root rm -f /tmp /* # 2: 00 am el primer día del mes, limpie los archivos en /tmp 0 8 6 5 * root mail robin < /Home /galeki /happy.txt # Envíale una carta a Robin cada 6 de mayo, deseándole un feliz cumpleaños. Si quiero ejecutar un comando cada 2 minutos, o quiero estar en 6 o 12 todos los días. , 18 puntos para ejecutar comandos, y similares, se pueden establecer mediante " /" y ", " para establecer: * /2 * * * * root ............... # Ejecutado cada dos minutos ........ 0 6,12,18 * * * root ............... # 6, 12, 18 todos los días. ....... cada dos horas 0 * /2 * * * echo tienen un descanso ahora. " > > /tmp/test.txt entre las 11 pm y las 8 am Dos horas, 8:00 am, 23: 00-7 /2, 8 * * * echo " tienen un buen sueño:) > > /tmp/test.txt Todas las semanas de lunes a miércoles, 11:00 11 * 4 1-3 línea de comando 1 de enero a las 4 am 0 4 1 1 * línea de comando cosecha: puede poner algunas cosas que hace a menudo, simplificar carga de trabajo, como correr en un estado del servidor de control semanal, ver informes, matar a una serie de procesos y así sucesivamente y hellip; …
sobre el crontab, las entradas de Wikipedia crontab muy bueno. Desafortunadamente, esta dirección no es accesible para los agentes en China.
Aunque la introducción de Crontab está en todas partes, lea el término en detalle y la cosecha aún está allí. El nombre Crontab proviene de " chronos ", un griego antiguo, " time ".

Trampas comunes
Todos los SA, DBA o usuarios comunes de Unix, se utilizan por primera vez Crontab tiene problemas. Los errores comunes para ejecutar Crontab incluyen lo siguiente: 1) Se creó un nuevo Cron JOB para realizar pruebas, y el intervalo debe ser de más de dos minutos, de lo contrario, el JOB no se enviará. Si debe ignorar la diferencia de tiempo de configuración de carga de dos minutos, puede hacerlo reiniciando el Cron Daemon.
2) Aspectos a tener en cuenta al iniciar el programa X Window desde Crontab: Entonces, inicialice " DISPLAY =: 0.0´´ antes del programa, o agregue el parámetro después de la aplicación --display: 0.0 - 3) El% en debe escaparse: \\%. Mi opinión personal es no tomar este parámetro en la línea de comandos, simplemente escríbalo en el script y luego envíe el script.
De hecho, creo que el problema más común con el uso de Crontab es a menudo porque las variables de entorno son incorrectas. A menudo veo personas en el foro que preguntan: ¿Por qué mi Crontab está creado y no se está ejecutando? Cuando estoy listo para crear un Cron JOB, a muchas personas les gusta ejecutarlo desde la línea de comandos, porque la variable de entorno se incluye automáticamente en el shell. En Crontab, JOB no se puede ejecutar porque no se encuentra la variable de entorno correcta. Este pequeño problema es como una viruela, y lo recuerdo después de una lección.

Un truco que debe usarse
Después de que se ejecute cada TRABAJO, el sistema enviará automáticamente la salida al usuario actual del sistema. Con el tiempo, es mucho, e incluso explotará todo el sistema. Por lo tanto, es necesario realizar un proceso de redirección después de cada comando de TRABAJO: > /dev /null 2 ​​> &1. La premisa es que los comandos en el trabajo deben procesarse normalmente, como adjuntarlos a un archivo de registro específico. Adjunto: El formato de Crontab es el siguiente:
* La coma (',') especifica el valor de la lista. Por ejemplo: " 1,3,4,7,8 " * La línea horizontal ('-') especifica el valor del rango como " 1-6 ", para " 1,2,3,4,5,6 " * El asterisco ('*') representa todos los valores posibles de Linux (el sistema de código abierto parece estar bien) y hay un " /" disponible. En el campo Minuto, * /15 significa cada 15 minutos. Esta función no está disponible en Unix comercial, como AIX.
# Use el signo de hash para prefijar un comentario # + ---------------- minuto (0 - 59) #

Copyright © Conocimiento de Windows All Rights Reserved