Ver la versión completa : [Ayuda] Con Crontab en Ubuntu server
Es la primera vez que uso contab. He editado con sudo el archivo y he añadido lo siguiente y no se ejecuta:
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
#
0/5 * * * * usuario /home/usuario/minecraft/minecraft start
2/5 * * * * usuario /home/usuario/minecraft/minecraft backup
1 4 * * * * usuario /home/usuario/minecraft/minecraft cartography
11 4 * * * 1 usuario /home/usuario/minecraft/minecraft backup clean
1 5 * * * * usuario /home/usuario/minecraft/minecraft restart
1 17 * * * * usuario /home/usuario/minecraft/minecraft restart
minecraft es un .sh al que le he quitado la extensión.
Alguna ayudita?
sin entrar en ver si esta bien o mal.
Tienes el usuario que lanza crontab privilegios para lanzar minecrat??
minecraft tiene permisos de ejecucion??
El usuario que lanza crontab es un usuario de sistema normal.... que grupo es el que puede ejecutar crontab? porque no le he añadido ni nada :S
lo segundo está bien porque lo estoy ejecutando manualmente y funciona.
Un saludo!
El usuario que lanza crontab es un usuario de sistema normal.... que grupo es el que puede ejecutar crontab? porque no le he añadido ni nada :S
lo segundo está bien porque lo estoy ejecutando manualmente y funciona.
Un saludo!
En principio con ps -ax deberias de ver si esta crontab ejecutandose.
El tema esta que el usuario que lanza crontab tenga privilegios para lanzar esos script.
De todas formas hace mucho que no me pego con eso, asi que ahora entrara algun guru y me dejara mal :lol:
Los 0/5 y 2/5 no sé bien qué significan, y es posible que cron tampoco y se líe con ellos. Recuerda también la que la última línea del archivo tiene que estar en blanco.
¿Cómo sabes que no se ejecutan? ¿Estás en pie a las 4 de la mañana comprobándolo? :D
Cada vez que cambies crontab, recuerda reiniciar cron para que vuelva a leer el archivo de configuración. No recuerdo si era necesario, pero por si acaso. Al reiniciar comprueba los logs a ver si cron se queja de alguna mala configuración.
Los 0/5 y 2/5 no sé bien qué significan, y es posible que cron tampoco y se líe con ellos. Recuerda también la que la última línea del archivo tiene que estar en blanco.
¿Cómo sabes que no se ejecutan? ¿Estás en pie a las 4 de la mañana comprobándolo? :D
Cada vez que cambies crontab, recuerda reiniciar cron para que vuelva a leer el archivo de configuración. No recuerdo si era necesario, pero por si acaso. Al reiniciar comprueba los logs a ver si cron se queja de alguna mala configuración.
vamos por partes... No he reiniciado, pero sabiéndolo, ahora lo hago. Lo de estar despierto a las 4 de la mañana... si se ejecuta, debe crear un archivo en una ruta, si no esta es que no se ha ejecutado :p
Y lo de la linea en blanco, no tenia ni dea :p
< - >
Creo que ya he encontrado el problema.... Desde el tercer script mio al ultimo, sobra un asterisco en todas las lineas :p a ver si ahora funciona.
in Juk we trust! Animo! Ya te digo que al menos los mensajes de advertencia se muestran!
in Juk we trust! Animo! Ya te digo que al menos los mensajes de advertencia se muestran!
Si, pero eso son backups manuales que hago yo.
no soy capaz :(
Eres un cavernícola, el crontab de toda la vida se ha editado con el comando crontab -e que lanza un editor (seleccionable con la variable de entorno EDITOR) que te permite editar el fichero, ya que si no ningún usuario podría editar su crontab al estar guardado en /var/spool/crontab/.
Al guardar el fichero el editor le devuelve el fichero al comando crontab y de paso te informa si hay algún error de sintaxis, como por ejemplo el asteriso de sobra.
PD: Cron lee el crontatab una vez por minuto, por lo que sólo hay que reiniciarlo si alguna tarea no entra, o en el log muestra mensajes de que se ha alcanzado el máximo de tareas en espera o semejante.
En teoría con matarlo es suficiente porque init lo levanta. En ubuntu especificamente no estoy seguro, porque me da pereza encender el PC, pero no debería ser distinto.
Edito, es la primera vez que veo que se puede especificar el usuario en un crontab.
El usuario no se especifica, cada usuario puede usar cron si está listado en /etc/cron.allow y no existe el fichero /etc/cron.deny (instalación por defecto de Ubuntu, todos los usuarios pueden usar cron). Cada usuario tiene un crontab separado y el programa crontab tiene permisos de setUID para poder editarlos.
A menos que hayas editado el fichero /etc/crontab, que no es la planificación del crond, sino de otros planificadores como anacron, que se apoya en crontab y que se usa para planificar cosas que se tienen que hacer aunque el sistema esté apagado,aunque sin importar cuando (por ejemplo, cuando el sistema ya no esté apagado).
dardo, lo he hecho editando crontab a lo bestia y con crontab -e
Se supone que tras añadir esto a crontab -e debería funcionar... pero no lo hace :S
0/5 * * * * /home/david/minecraft/minecraft start
2/5 * * * * /home/david/minecraft/minecraft backup
1 4 * * * /home/david/minecraft/minecraft cartography
11 4 * * 1 /home/david/minecraft/minecraft backup clean
1 5 * * * /home/david/minecraft/minecraft restart
1 17 * * * /home/david/minecraft/minecraft restart
Ya no se que mas hacer.... no se si poniendole el .sh correspondiente a la ruta funcionará (tengo duplicado el script por si acaso, uno con .sh y otro sin ello, dentro del directorio minecraft)
Un saludo.
Sr.Polilla
02/12/2010, 19:25
pregunta tonta, ¿tienes permisos de ejecución en cada script?
pregunta tonta, ¿tienes permisos de ejecución en cada script?
Si, sino supongo que no me dejaría ejecutarlo de forma manual. Supongo que tampoco me arriesgaría 5€ a ello, jajaja
dardo, lo he hecho editando crontab a lo bestia y con crontab -e
Se supone que tras añadir esto a crontab -e debería funcionar... pero no lo hace :S
0/5 * * * * /home/david/minecraft/minecraft start
2/5 * * * * /home/david/minecraft/minecraft backup
1 4 * * * /home/david/minecraft/minecraft cartography
11 4 * * 1 /home/david/minecraft/minecraft backup clean
1 5 * * * /home/david/minecraft/minecraft restart
1 17 * * * /home/david/minecraft/minecraft restart
Ya no se que mas hacer.... no se si poniendole el .sh correspondiente a la ruta funcionará (tengo duplicado el script por si acaso, uno con .sh y otro sin ello, dentro del directorio minecraft)
Un saludo.
Creo que los logs de cron en ubuntu van al syslog. Echale un ojo. Por cierto, al no estar redirigida la salida a ninguna parte la salida va al mail del usuario.
Perdona que insista, pero ¿cómo sabes que no lo hace? Quiero decir, a lo mejor lo intenta a su hora y salta algún error.
¿Qué significa el 0/5 y 2/5? No los encuentro en la documentación.
te dice algo esto?
Dec 2 20:02:01 tirith CRON[1277]: (david) CMD (/home/david/minecraft/minecraft backup)
Dec 2 20:02:02 tirith CRON[1276]: (CRON) info (No MTA installed, discarding output)
< - >
Perdona que insista, pero ¿cómo sabes que no lo hace? Quiero decir, a lo mejor lo intenta a su hora y salta algún error.
¿Qué significa el 0/5 y 2/5? No los encuentro en la documentación.
0/5 Cada 5 minutos empezando por el minuto 0
2/5 Cada 5 minutos empezando por el minuto 2
Está intentando ejecutar, pero como no tienes configurado el sistema de emails no te puede informar de qué pasa o qué no pasa :)
0/5 y 2/5 NO significan cada cinco minutos empezando en 0 y 2, al menos en la documentación que he leído. Si se interpretan así es algo no documentado en la página de manual. Por lo que sé, se deberían escribir 0-55/5 y 2-58/2 respectivamente.
Añade al final "2&>1 >/home/usuario/salida.txt" a los comandos, a ver si sacas algo en claro: comando ejecutándose o algún error
Añade al final "2&>1 >/home/usuario/salida.txt" a los comandos, a ver si sacas algo en claro: comando ejecutándose o algún error
Amos a probar, gracias
< - >
Por cierto, el tema de 5/5 y tal lo he sacado de aqui :p http://www.linuxtotal.com.mx/index.php?cont=info_admon_006
Si a lo mejor funciona, pero no veo en la documentación de cron que se escriba así :)
Duda tonta: ¿no puede ser que te esté saltando el "haz ahora un backup" sin que haya saltado "minecraft start" antes y por eso falle? No sé si necesitas tener corriendo el servidor para hacer un backup, lo digo solo por dar idea.s
Si a lo mejor funciona, pero no veo en la documentación de cron que se escriba así :)
Duda tonta: ¿no puede ser que te esté saltando el "haz ahora un backup" sin que haya saltado "minecraft start" antes y por eso falle? No sé si necesitas tener corriendo el servidor para hacer un backup, lo digo solo por dar idea.s
El servidor esta corriendo de todas porque lo ejecuto yo a mano. Una vez se ejecutado, si se inicia el script, comprueba si esta en marcha el servidor, si es asi te avisa que está en marcha y sino lo inicia. De todas todas, el script minecraft funciona sin problemas porque manualmente (sin sudo ni historias raras) funciona que te cagas las bragas :p
si se ejecuta, debe crear un archivo en una ruta, si no esta es que no se ha ejecutado :p
en que ruta segun tu?
crontab usa como pwd el home del usuario (creo), no te lo va a dejar en la ruta del programa.
Aiken
Pero yo le estoy indicando una ruta absoluta, ¿no? al menos en el crontab la ruta que he puesto es absoluta. Si la debo poner relativa ahi ya tendria que hacer mas pruebas.
Si es el /etc/crontab, suele ser algo asi:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
42 6 * * * root run-parts --report /etc/cron.daily
Donde "m" es minuto, "h" es hora, "dom" es dia del mes, "mon" es mes, y "dow" es dia de la semana, luego el usuario como el que ejecutar el comando, y luego comando y parametros.
Lo único que veo que te falte es el usuario... puedes probar a meterlo.
BeatTakeshi
02/12/2010, 23:15
Yo hablo me mi expeciencia, no lo hagas con contrab -e, vete a /etc/cron.d/ y crea un archivo que se llame minecraft, pega lo mismo que has pegando en el crontab -e en referencia a eso y dale permisos de ejecución.
A mi asi me funciona :)
Yo hablo me mi expeciencia, no lo hagas con contrab -e, vete a /etc/cron.d/ y crea un archivo que se llame minecraft, pega lo mismo que has pegando en el crontab -e en referencia a eso y dale permisos de ejecución.
A mi asi me funciona :)
indicando usuario o sin indicarlo?
xzakox, con crontab -e no hace falta especificar usuario ya que se realiza con el usuario activo.
< - >
Acabo de conseguir que funcione con crontab -e
Algo había mal y en vez de cada 5 minutos, solo se ejecutaba cada hora (alguien me va a dar una patada en el culo, pero lei que estaba bien, lo siento)
Muchas gracias a todos, de verdad :)
The_Punisher
03/12/2010, 12:54
Muchas gracias a todos y a juk, por hacer de este server de minecraft una delicia, por cierto, da la vara ver cada 4:50 minutos que en 10 segundos se va a hacer un backup xD
Muchas gracias a todos y a juk, por hacer de este server de minecraft una delicia, por cierto, da la vara ver cada 4:50 minutos que en 10 segundos se va a hacer un backup xD
Seguramente lo ponga cada hora, de momento ajo y agua, luego lo cambio.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.