Linux_day05_02_ tarea programada

Tareas programadas

Tareas programadas de Linux
  • Realizar una tarea en un momento determinado en el futuro: en, lote
  • Ejecute una tarea periódicamente: crond
  1. al mando

Necesita instalar: yum -y instalar en

[root@localhost ~]# at --help
at: invalid option -- '-'
Usage: at [-V] [-q x] [-f file] [-mMlbv] timespec ...
       at [-V] [-q x] [-f file] [-mMlbv] -t time
       at -c job ...
       atq [-V] [-q x]
       at [ -rd ] job ...
       atrm [-V] job ...
       batch
  • Instrucciones: a la hora del parámetro
  • parámetro
    • -m: cuando se completa la tarea especificada, el correo se enviará al usuario, incluso si no hay una salida estándar
    • -I: alias de atq
    • -d: alias de atrm
    • -v: muestra la hora en que se ejecutará la tarea
    • -c: imprime el contenido de la tarea en salida estándar
    • -V: muestra la información de la versión
    • -q: usa la cola especificada
    • -f: lee tareas del archivo especificado en lugar de leer de la entrada estándar
    • -t: envía la tarea que se ejecutará en forma de parámetro de tiempo
  • hora
    • HH :: MM [AAAA-MM-DD]
    • luna, medianoche, hora del té
    • mañana
    • ahora + num {minutos, horas, días, semanas}
  • atq: Ver tareas programadas
  • atrm 2: eliminar tarea

Iniciar atd.service por adelantado: systemctl start atd

  1. comando por lotes

Deje que el sistema seleccione automáticamente el tiempo de inactividad para realizar las tareas especificadas aquí

  • Nota de uso: tiempo de parámetro de lote
  • parámetro
    • -f: especifica un archivo de tarea que contiene instrucciones específicas
    • -q: especifica el nombre de la cola de la nueva tarea
    • -m: envía un correo electrónico al usuario después de que se ejecuta la tarea
  • Ejemplo
batch 
at> echo 1234
at> <EOT>
job 5 at Sun Apr 28 08:49:00 2013
Tareas del sistema Linux

El sistema Linux está controlado por el servicio crond para programar tareas. Hay muchas tareas programadas en Linux, por lo que este servicio se inicia de forma predeterminada. Además, dado que los usuarios también pueden configurar tareas programadas, el comando crontab se proporciona para que los usuarios controlen las tareas programadas.

cat /etc/crontab 

SHELL=/bin/bash	指定shell
PATH=/sbin:/bin:/usr/sbin:/usr/bin	系统执行命令的路径
MAILTO=root		任务执行通过邮件发送给root用户

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
0-30 */2 3,6,9 1 root /usr/bin/echo hello
  分 时 日 月 周 用户名 任务命令

hora

  • Valor específico: un valor dentro del rango válido en un momento dado
  • *: Todos los valores dentro del rango de valores válidos en un momento dado, es decir, "cada ..."
  • Valor discreto: valor discreto 1,3,6,9 mediante coma
  • Valor continuo: a través del signo menos, puede ser un valor continuo 0-30
  • Paso de definición: * / 5: significa "cada 5 ..."

comando crontab

  • -l: lista todas las tareas
  • -e: editar tarea
  • -r: eliminar todas las tareas
  • -i: interactivo
  • -u: especifica el usuario

Preguntas de práctica

  1. Establezca una tarea programada única para apagar el sistema a las 18:00 y ver la información de la tarea
at 18:00
at> poweroff
at> <EOT>

atq # 查看任务信息
  1. Empaque y comprima / etc / passwd / etc / shadow / etc / group / etc / gshadow en file.tar.gz todas las noches a las 24:00
crontab -e -uroot 0 0 * * * tar -czvf file.tar.gz /etc/passwd /etc/shadow /etc/group /etc/gshadow
  1. Enumere el uso del disco cada cinco minutos todos los lunes
crontab -e -uroot */5 * * * 1 df -Th
  1. Sincronice la hora con el servidor de sincronización de hora de Internet pool.ntp.org a las 8:30 todos los días
crontab -e -uroot 30 8 * * * ntpdate pool.ntp.org
  1. Vea las tareas programadas de root a través del comando crontab y enumere el contenido del archivo correspondiente en / var / spool / cron a través de las herramientas de visualización de archivos
crontab -l -uroot

cat /var/spool/cron/root

Supongo que te gusta

Origin blog.csdn.net/qq_44924544/article/details/108903885
Recomendado
Clasificación