Anacron ,como configurar tareas asincrónicas

6 envíos / 0 nuevos
Último envío
#1 Sáb, 23/11/2019 - 14:02
arielelmusico
Imagen de arielelmusico
Desconectado/a
se unió: 13/10/19

Anacron ,como configurar tareas asincrónicas

Estado: 
[ACTIVO]

Hola a todos. El problema que estoy teniendo es con las tareas asincrónicas. Para ponerlos en contexto voy a transcribir lo que tengo en crontab y lo que quiero que se ejecute al iniciar la pc.

Comando: crontab -e

 0 7 * * * tar -cpf /tmp/backup-`date +\%Y\%m\%d`-0700.tar /home/operador && scp /tmp/backup-`date +\%Y\%m\%d`-0700.tar horacio@192.168.100.2:~/ && rm /tmp/backup-`date +\%Y\%m\%d`-0700.tar

 

Básicamente, hago backup del home/  dentro de tmp/ , luego lo copio por remoto y luego borro el archivo de en la maquina local. Todo funciona perfecto. En anacron hago lo siguiente

 

Comando: sudo nano /etc/anacrontab

SHELL=/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

 HOME=/root

 LOGNAME=root

 # These replace cron's entries

1 5 cron.daily run-parts --report /etc/cron.daily

7 10 cron.weekly run-parts --report /etc/cron.weekly

@monthly 15 cron.monthly run-parts --report /etc/cron.monthly

 

#LA SIGUIENTE ES MI LINEA

@daily    10     cron.daily    0 7 * * * tar -cpf /tmp/backup-`date +\%Y\%m\%d`-0700.tar /home/operador && scp /tmp/backup-`date +\%Y\%m\%d`-0700.tar horacio@192.168.100.2:~/ && rm /tmp/backup-`date +\%Y\%m\%d`-0700.tar

 

Entiendo que en el archivo /etc/anacrontab tengo que poner lo mismo que en crontab de usuario. Pero no funciona. La maquina arranca y no hace nada. Seguramente estoy utilizando mal anacron, pero no logro entenderlo. Empero puedan ayudarme. Saludos

 

En el archivo

Sáb, 23/11/2019 - 15:12
caliban
Imagen de caliban
Desconectado/a
moderador
se unió: 14/01/16
@daily    10     cron.daily    0 7 * * * tar -cpf /tmp/backup-`date +\

Si vos estas programando en anacron una tarea diaria, con un retraso de 10 ,    0 7 * * * tar ,,,,,,,   tar no se ejecutara por que 07 bla bla   que corresponde a la programación de  cron  no sera  "entendida"  por bash 

Por otra parte  ¿ si vos haces una copia diaria ¿para que removes el archivo en /tmp, ?  dichos archivos serán removidos al apagar el sistema .

Yo diría que para mas comodidad  te crees un script en bash que ejecute todo eso y  en la entrada de crontab y anacron  indiques ejecutar dicho script .

También cuidado con el  &&  que indica  que  se ejecutara lo siguiente siempre y cuando lo anterior fue ejecutado exitosamente (  o sea retorna 0 )  si falla el paso anterior se detiene la ejecución del resto .

Tene en cuenta que si vos queres que algo se ejecute al inicio de la pc ,con cron  podes utilizar la opción 

@reboot  <tarea a ejecutar > 

Y en todo caso si queres dejarle algún tiempo para que el sistema cargue todo pones 

@reboot  sleep <tiempo de espera > ; <mi siguiente tarea > 

Sáb, 23/11/2019 - 15:24 (Responder a #2)
arielelmusico
Imagen de arielelmusico
Desconectado/a
se unió: 13/10/19

Hola caliban. Como siempre, agradezco tu intervención. Tenes razón. Copie mal el comando. En realidad en anacron no va el 07 ***. Vuelvo a copiar

 

comando: sudo nano /etc/anacrontab

 

 @daily    10     cron.daily      tar -cpf /tmp/backup-`date +\%Y\%m\%d`-0700.tar /home/operador && scp /tmp/backup-`date +\%Y\%m\%d`-0700.tar horacio@192.168.100.2:~/ && rm /tmp/backup-`date +\%Y\%m\%d`-0700.tar

 

Así es en realidad. Sin embargo no funciona. Como en otra pregunta que hice, esto lo tengo que realizar de esta manera. Ya se que hay cosas obvias, como el ejemplo que me marcas sobre el directorio tmp/. Esto es un ejercicio. No es lo que yo haria para administrar un servidor. De hecho, siempre preferí trabajar con scripts, y ahora que no puedo usarlos, porque la idea es no utilizarlos, me encuentro con estos problemas y no puedo resolver. La idea es que anacron ejecute lo que no se ejecuto en el archivo crontab de usuario. ¿Es posible ejecutarlo de esta manera?¿O no es posible, y solo es posible con un script? Saludos caliban.

Sáb, 23/11/2019 - 15:36
caliban
Imagen de caliban
Desconectado/a
moderador
se unió: 14/01/16

Tenes que tener en cuenta ciertos detalles ; en cual shell se ejecutaran los comandos o el script , fijate que al inicio  en anacrontab  estas indicando   /bin/sh  o sea que si vas a ejecutar con bash tenes que indicarlo .

También tenes que tener en cuenta que los ejecutables de los comandos esten incluidos en el PATH

Te diria que busques ejemplos en internet , es mas , que crees una tarea simple   un solo comando y partas de ahi,

http://somebooks.es/programar-tareas-asincronas-en-ubuntu-server-18-04-lts/

https://linux.101hacks.com/unix/anacron/

https://www.thegeekstuff.com/2011/05/anacron-examples

 

Sáb, 23/11/2019 - 15:39 (Responder a #4)
arielelmusico
Imagen de arielelmusico
Desconectado/a
se unió: 13/10/19

Gracias caliban. Ahora mismo voy a ponerme con eso. Te agradezco como siempre. Saludos.

Dom, 24/11/2019 - 12:41 (Responder a #5)
caliban
Imagen de caliban
Desconectado/a
moderador
se unió: 14/01/16

arielelmusico wrote:

............... Como en otra pregunta que hice, esto lo tengo que realizar de esta manera. Ya se que hay cosas obvias, como el ejemplo que me marcas sobre el directorio tmp/. Esto es un ejercicio. ............................................

.....................................

Bien entiendo que es un ejercicio que te han pedido, veremos como lo implementas y seria bueno que ,cuando tengas una respuesta, la compartieras , del mismo modo que  el otro tema respecto a el comando AT que abriste. 

Ya que estas utilizando el foro para resolver ejercicios, compartir el resultado es un modo de hacer util cada tema para el resto .