Es un proceso que se ejecuta según sea especificado mientras la computadora esta encendida, mientras el sistema este operando
Con crontab -e se programan tareas que se ejecutan según el minuto, la hora, el día que se establezca.
El Crontab esta compuesto por 5 valores importantes:
┌───────────── minute(0-59) │ ┌───────────── hour(0-23) │ │ ┌───────────── day ofmonth(1-31) │ │ │ ┌───────────── month(1-12) │ │ │ │ ┌───────────── day ofweek(0-6)(Domingo a Sábado;7 es también Domingo en algunos sistemas) │ │ │ │ │
│ │ │ │ │
*****Comando a ejecutar!
Un Script de ejemplo sería el de guardar la fecha cada minuto, todos los dias a las 12 horas (formato 24h).
*12*** date >>/tmp/date
En el directorio /etc/cron.[frecuencia] existen una serie de archivos, en ellos se puede configurar algún script (comando) que necesitemos ejecutar con “equis” frecuencia, de esta forma el Crontab queda guardado de forma permanente.
El cron tiene 5 atributos muy importantes para agendar tareas:
minuto - hora - día del mes - mes - día de la semana
-> don’t care
Estoy conforme con esta sección, pero me hubiera gustado que en la clase de grupos y usuarios nos hubieras enseñado a administrar realmente los mismos, cambiar contraseñas, quitarlas, agregarlas, como permitirle el logueo al servidor a otra persona con su usuario, etc…
+1
Este un ejemplo para respaldar MySql y SQL Server desde un archivo sh:
#!/bin/bash
<h1>Proposito - Backup de archivos y base de datos</h1>
<h1>Autor: Jaime Torres</h1>
sqlcmd -S localhost -U SA -PPASSWORD -Q “BACKUP DATABASE [FSQC4_CONFIG] TO DISK = N’/Intranet/Respaldos/backup/SQLSERVER/$SQLCONFIGFILE’ WITH NOFORMAT, NOINIT, NAME = ‘FSQC4_CONFIG’, SKIP, NOREWIND, NOUNLOAD, STATS = 10”
sqlcmd -S localhost -U SA -PPASSWORD -Q “BACKUP DATABASE [FSQC4_TABLAS] TO DISK = N’/Intranet/Respaldos/backup/SQLSERVER/$SQLTABLASFILE’ WITH NOFORMAT, NOINIT, NAME = ‘FSQC4_TABLAS’, SKIP, NOREWIND, NOUNLOAD, STATS = 10”
ulimit -a : nos permite mirar como quedaron las configuraciones
ulimit -n : muestra los archivos abiertos
ulimit –n 4000 : aumenta los archivos abiertos a 4000
sysctl –p : se guardan las configuraciones realizadas anteriormente
crontab -e
<h1>m h dom mon dow user command</h1>
donde:
m corresponde al minuto en que se va a ejecutar el script, el valor va de 0 a 59
h la hora exacta, se maneja el formato de 24 horas, los valores van de 0 a 23, siendo 0 las 12:00 de la medianoche.
dom hace referencia al día del mes, por ejemplo se puede especificar 15 si se quiere ejecutar cada dia 15
dow significa el día de la semana, puede ser numérico (0 a 7, donde 0 y 7 son domingo) o las 3 primeras letras del día en inglés: mon, tue, wed, thu, fri, sat, sun.
user define el usuario que va a ejecutar el comando, puede ser root, u otro usuario diferente siempre y cuando tenga permisos de ejecución del script.
command refiere al comando o a la ruta absoluta del script a ejecutar, ejemplo: /home/usuario/scripts/actualizar.sh, si acaso llama a un script este debe ser ejecutable
El día 20 de noviembre a las 7:30 el usuario correra el script
15 00 * * * date >> /tmp/date
Está página es mucho mejor para saber como configurar correctamente el crontab y saber cuando y como se va a ejecutar un comando:
Donde labora un programador hizo un pequeño programa python invocado desde el crontab para escribir en una base de datos, el valor por mi modificado en un formulario de interconexión con operadores VoIP. Esto para no tener que decirle cada vez que actualizase determinadas interfaces …así se libró de mi 😃
En el curso de terminal mencionaron un poco sobre contab y esto lo complementa aun mas, gracias!
crontab
En esta sección, todos los videos se van cortando. Tanto en el server A, B o C.
Como puedo crear una tarea programada para que me mate un proceso por su nombre, ejemplo : kill -9 watchdog/5.
Gracias !
Utiliza el comando killall <nombredelproceso>
puedes usar tuberías para construir un comando mas completo y agregarlo al crontab, por ejemplo: