?>/script>'; } ?> Programar openwrt para reiniciarse diariamente. Widgets Magazine

Autor Tema: Programar openwrt para reiniciarse diariamente.  (Leído 14504 veces)

0 Usuarios y 1 Visitante están viendo este tema.

gasalb

  • Visitante
Programar openwrt para reiniciarse diariamente.
« en: 28-12-2013, 12:32 (Sábado) »
Hola gente!Necesito vuestra ayuda para programar el openwrt que se reinicie cada dia(en ddwrt habia un apartado que se podia hacer).He buscado en el foro sin exito :(,solo he visto hablando de eso,pero sin los comandos para programarlo.Y ya que estamos quiero hacer una red virtual con orario reducido para la tablet de mi hija,tampoco he encontrado comando(o paquete) para hacerlo.Mi ruter es un tp-link 1043nd con openwrt Atittude Adjustment 12.09.Gracias de antemano y Felices Fiestas!!!

Altair64

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #1 en: 28-12-2013, 12:40 (Sábado) »
Tendrias que hacer uso del comando reboot que es el que te reiniciará el sistema. Para programarlo, echale un vistazo a CRONTAB, viene preinstalado en OpenWRT. Permite programar tareas (en este caso, reboot), cuando quieras con total flexibilidad, aunque es algo lioso (personalmente intenté programar un apagado e inicio automaticos del wifi sin exito, no se si seria problema mio, no funcionan bien los comandos que necesitaba con crontab o loquesea, pero tu prueba.

En esta wiki te sale cómo se configura el crontab:

http://wiki.openwrt.org/doc/howto/notuci.config#etccrontabsroot

en LuCI tienes una seccion donde te aparece el archivo de configuracion directamente.

crislgga

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #2 en: 28-12-2013, 13:07 (Sábado) »
Hola, como dice noentiendero, para que se reinicie, x tiempo, esta el comando CRONTAB, desde la propia interfaz luci, yo lo tenia en un sagem fast 2604, mira en la pagina de openwrt, todas las opciones del comando, no es mas que un formato que dices, diario,semanal o mensual, hora y el comando, yo lo tenia que se reiniciase todos los dias a las 3:00 de la madrugada, para descargar memoria ram
Saludos
« Última modificación: 28-12-2013, 13:07 (Sábado) por crislgga »

gasalb

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #3 en: 28-12-2013, 13:18 (Sábado) »
Muchas gracias!Lo intentare,haber como se me da  ;)

teck

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #4 en: 28-12-2013, 22:50 (Sábado) »
Lo puedes configurar desde Luci, sistema-> tareas programadas

por ejemplo yo tengo que corra un script a una hora especifica 14:25 hrs.

Código: [Seleccionar]
25 14 * * * /etc/info sync_data
en tu caso podrias poner lo siguiente asi el router se reinicia a las 0 horas.

Código: [Seleccionar]
0 0 * * * reboot
después solo te aseguras que este corriendo el demonio CRON en sistema-> arranque.

http://es.wikipedia.org/wiki/Cron_(Unix)
« Última modificación: 28-12-2013, 22:53 (Sábado) por teck »

Mateustop

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #5 en: 05-08-2016, 05:30 (Viernes) »
Uffff
Gracias a este hilo consegui programar openwrt!
Creo q aprenderé muchisimo en este foro :)

raphik

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #6 en: 05-08-2016, 15:30 (Viernes) »
...Y ya que estamos quiero hacer una red virtual con horario reducido para la tablet de mi hija...

Para controlar el horario de disponibilidad wifi también puedes usar crontab.

Para apagar la wifi todos los días a las 22:30
Código: [Seleccionar]
30 22 * * * wifi down radio0
Para encender la wifi todos los días a las 18:15
Código: [Seleccionar]
15 18 * * * wifi up radio0
Saludos.

tagotis

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #7 en: 13-12-2016, 10:52 (Martes) »
Hola tengo un tp-link tl-wr1043nd con openwrt y despues de intentar usar cron lo tengo en reinicio constante, en tarea de programas puse:
Código: [Seleccionar]
07 9 * * * rebooty ahora no para de reiniciarse, alguna solucion? gracias.

Ficht

  • Visitante
Re:
« Respuesta #8 en: 13-12-2016, 15:13 (Martes) »
Creo que vas a tener que apretar aquel botón que dice reset...


Enviado desde mi Y635-L01 mediante Tapatalk


tagotis

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #9 en: 13-12-2016, 18:55 (Martes) »
ok reseteo y reconfiguro todo, pero como puedo usar cron para que me vuelva a pasar esto?

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #10 en: 13-12-2016, 19:28 (Martes) »
ok reseteo y reconfiguro todo, pero como puedo usar cron para que me vuelva a pasar esto?

Supongo que querrás decir para que NO te vuelva a pasar esto...

En lugar de crear un cron destructivo, prueba antes con algún otro comando inofensivo (que no sea reboot), y mira cómo se comporta el cron. Mira en el log del sistema y verás cómo se ejecuta. Si estás satisfecho con la forma de ejecución, cambia el comando por el destructivo.  >:D

tagotis

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #11 en: 16-12-2016, 13:30 (Viernes) »
bueno he conseguido solucionar el tema del bucle infinito con el reboot añadiendo un sleep antes del reboot
Código: [Seleccionar]
30 4 * * * sleep 70 && reboot ahora funciona perfectamente.

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #12 en: 16-12-2016, 21:44 (Viernes) »
bueno he conseguido solucionar el tema del bucle infinito con el reboot añadiendo un sleep antes del reboot
Código: [Seleccionar]
30 4 * * * sleep 70 && reboot ahora funciona perfectamente.

No eres el primero al que le pasa esto: https://forum.openwrt.org/viewtopic.php?id=54227. Recomiendan usar touch en lugar de sleep, pero se consigue lo mismo.

danitool

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #13 en: 16-12-2016, 22:25 (Viernes) »
Si no entendí mal entonces la solución sería
Código: [Seleccionar]
30 4 * * * touch -r /etc/banner -d '+2 minute' /etc/banner && reboot

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #14 en: 17-12-2016, 08:03 (Sábado) »
Si no entendí mal entonces la solución sería
Código: [Seleccionar]
30 4 * * * touch -r /etc/banner -d '+2 minute' /etc/banner && reboot

Sí. Se supone que en el arranque, al no quedarse la hora grabada en el router, se parte siempre de una fecha en el pasado. Al terminar el arranque, se toma de fecha, la última de todos los ficheros de /etc. Después, el router se pone en hora con la actual, a través de internet (NTP).
Digamos que la última fecha del /etc es 2016/12/15, y tenemos un cron que se ejecuta cada día. Al ponerse en hora a través de internet, detectaría que hoy 2016/12/17, ya han pasado 2 días desde la última vez ejecutada, y por lo tanto se ejecutaría.
Lo que no tengo tan claro, es por qué touch debería poner la fecha en el futuro, si la fecha de la que partimos es anterior, y todavía no se ha actualizado por NTP, la fecha que pusiera touch, sería todavía en el pasado...  ???. Para lo que debiera servir, es para que tras el primer reboot, no ocurra un segundo reboot, ya que la fecha en /etc ya sería correcta por el touch... Ummm..., le veo sus lagunas...

Yo, me haría a la idea, de que en el arranque, se ejecutan todas las tareas (recurrentes) del cron inicialmente, y luego, a los intervalos definidos. O parchear el comando con el touch, y además le pondría el sleep, por si acaso. Y el sleep se lo pondría antes del touch, para darle tiempo al demonio NTP a poner en hora el reloj interno, y por lo tanto al hacer touch, se ponga realmente la hora correcta en /etc.

En resumen, yo pondría sleep && touch && reboot.

Todo esto parece un derivado de efectos colaterales, no muy fácil de esquivar...

danitool

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #15 en: 17-12-2016, 13:02 (Sábado) »
He estado reproduciendo el bug en un snapshot de LEDE (r2533). Como me temía deshabilitando sysfixtime también se corrige el problema:

Código: [Seleccionar]
/etc/init.d/sysfixtime disable
y ya no es necesario usar touch ni sleep en cron

No me gusta la idea de usar touch ya que realiza escrituras en flash, que aunque sea inofensivo en este caso, es algo que siempre se debería evitar si es posible.

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #16 en: 17-12-2016, 17:46 (Sábado) »
No me gusta la idea de usar touch ya que realiza escrituras en flash, que aunque sea inofensivo en este caso, es algo que siempre se debería evitar si es posible.

Ni a mi tampoco...

SkinWaLKeR

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #17 en: 04-01-2017, 09:22 (Miércoles) »
Salu2s a todos, en mi afán por cacharrear más a fondo este gran SYS que es OpenWRT me planteo una pregunta muy delicada, si instalo OpenWRT en un router al cual quiero tener controlado para en caso de pueda serme sustraído, por supuesto ese caso no me gustaría que cayera en manos de mi competencia por ejemplo,  habría alguna forma de programarle para q destruya el sistema? Digamos crearle un usuario con todos los privilegios que nada más al entrar en esa sesión ejecute un comando destructivo, borrado del sistema, el Uboot, kernel, algo así? Todo esto con tal de que el que no sepa flashearlo tenga que venir a mis manos casi obligatoriamente a hacerlo, y aquí estaría bastante obligado. Que me pueden decir sobre esto?

danitool

  • Visitante
Re: Programar openwrt para reiniciarse diariamente.
« Respuesta #18 en: 04-01-2017, 10:58 (Miércoles) »
Salu2s a todos, en mi afán por cacharrear más a fondo este gran SYS que es OpenWRT me planteo una pregunta muy delicada, si instalo OpenWRT en un router al cual quiero tener controlado para en caso de pueda serme sustraído, por supuesto ese caso no me gustaría que cayera en manos de mi competencia por ejemplo,  habría alguna forma de programarle para q destruya el sistema? Digamos crearle un usuario con todos los privilegios que nada más al entrar en esa sesión ejecute un comando destructivo, borrado del sistema, el Uboot, kernel, algo así? Todo esto con tal de que el que no sepa flashearlo tenga que venir a mis manos casi obligatoriamente a hacerlo, y aquí estaría bastante obligado. Que me pueden decir sobre esto?

Parece tan sencillo como programar un script al inicio para que baje siempre un segundo script almacenado en una nube o servidor del cual tienes el control.

La idea sería que ejecute siempre ese script qeu tienes almacenado en tu nube, y el cual estaría vacío por defecto. Una vez que sepas que te han sustraido el router sin tu consentimiento, solo tendrías que modificar el script colocando una orden tal que así
Código: [Seleccionar]
mtd erase linux
De todas formas tu consulta es un poco offtopic y poco tiene que ver con este hilo

Saludos

jaraneda

  • Visitante
Re:
« Respuesta #19 en: 04-01-2017, 11:44 (Miércoles) »
yo pondria 00 01 *** shutdown -r asi se reiniciaria todos los dias a la 01 de la madrugada

Desde el lado oscuro de la fuerza!