Para crear tareas programadas en Linux, debe realizar los siguientes pasos:
Ingrese por SSH al servidor . Si desconoce como hacerlo puede consultar el siguiente link: http://www.teayudamos.net/acceder-via-ssh-a-un-servidor/
Una vez que ha ingresado por consola, debe ejecutar el siguiente comando: sudo crontab -e . Con este comando se le abrirá un editor de texto donde puede cargar las tareas programadas que necesite ejecutar, una por linea.
El archivo tiene el siguiente formato:
* * * * * comando a ejecutarse
– – – – –
| | | | |
| | | | +—– día de la semana (0 – 6) (Domingo=0)
| | | +——- mes (1 – 12)
| | +——— día del mes (1 – 31)
| +———– hora (0 – 23)
+————- minuto (0 – 59)
Por ejemplo, para configurar que se ejecute un script todos los días a las 1:10 AM la línea sería la siguiente(usando PHP):
10 01 * * * /usr/bin/php /var/www/virtual/tuweb.com/htdocs/crons.php
Y para ejecutar algo todos los Lunes cada 5 minutos:
*/5 * * * 1 /usr/bin/php /var/www/virtual/tuweb.com/htdocs/crons.php
Importante: Los espacios entre * deben hacerse presionando la tecla TAB, y la ruta al archivo a ejecutarse debe estar completa y sin espacios, como en el caso anterior se especificó que php ejecute el archivo crons.php ubicado dentro de /var/www/virtual/dominio.com/htdocs/
Ej.
Nota: Para ver la ruta correcta de php, puede ejecutar el comando which php
[user@server ~]# which php
/usr/bin/php
Una vez que haya finalizado de cargar las tareas que necesite una por línea, debe guardar los cambios. Para esto presione CTRL + X . Si realizó cambios le preguntará si desea guardarlos, presione Y y luego pulse Enter
Nota: Si no desea guardar cambios, pulse N
Si ha guardado correctamente los cambios, al finalizar le saldrá el siguiente mensaje:
crontab: installing new crontab
Con esto ya quedan configuradas las tareas programadas a ejecutarse.
Comandos útiles
Para desactivar un cron, puede agregar el numeral(#) al principio de una linea, ej:
#10 01 * * * /usr/bin/php /var/www/virtual/tuweb.com/htdocs/crons.php
Para listar las tareas programadas con el siguiente comando: sudo crontab -l