No funciona algunos procesos de crontab
Publicado por sandro makaviel (76 intervenciones) el 16/09/2018 21:04:48
Llevo varios días sin procesos atomísticos en crontab, y me veo en la penosa necesidad de solicitar su ayuda, ya que tengo mas de 13 años con Linux en diferentes versiones y distribuciones. Y he cooperado con ustedes contestando. Pero después de instalar la versión de debían 9, ya varias veces sin problema instale esta con la opción en tasksel Xfce, no se si sea por eso. Que se pone roñoso.
Siempre he hallado la respuesta aquí en internet, ya sea de alguna de sus dudas y soluciones son muy acertadas por cierto.
En crontab tengo además de muchos script tengo estos que no corren, muchos he eliminado. Después de varias distribuciones y formatear, siempre respetando las elementos y programas ya hecho entre ellos el crontab ya construido.
Digo que no corren por que grabo en una base de datos (mysql), por medio de bash, Y si el script lo corro yo funciona.
Buscando encontré esta verificación y funciona
###################### P R U E B A #######################################################################
#* * * * * /usr/bin/who >>/tmp/crontab.log
##########################################################################################################
Tengo ese archivo totalmente lleno. Lo desactive
este entre otros no funciona, lo cual no graba en la base de datos
00 * * * * ~/bin/respaldoBD mis-tarjetas
graba_MySQL
cambie los privilegios a 711. voy a probar a 751, y cuento.
De hecho en .bashrc hay una linea que dice PATH=~/bin:~/Sh:$PATH
GRACIAS POR SUS ATENCIONES
Siempre he hallado la respuesta aquí en internet, ya sea de alguna de sus dudas y soluciones son muy acertadas por cierto.
En crontab tengo además de muchos script tengo estos que no corren, muchos he eliminado. Después de varias distribuciones y formatear, siempre respetando las elementos y programas ya hecho entre ellos el crontab ya construido.
Digo que no corren por que grabo en una base de datos (mysql), por medio de bash, Y si el script lo corro yo funciona.
Buscando encontré esta verificación y funciona
###################### P R U E B A #######################################################################
#* * * * * /usr/bin/who >>/tmp/crontab.log
##########################################################################################################
Tengo ese archivo totalmente lleno. Lo desactive
este entre otros no funciona, lo cual no graba en la base de datos
00 * * * * ~/bin/respaldoBD mis-tarjetas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
DIRECTORIO="$HOME/Sh"
#cd $DIRECTORIO
PROGRAMA=Respaldo_SQL_modelo.sh
SISTEMA=$1
DBASE=$2
DBASEdest=$3
TABLA=$4
CODIGO=$?
Graba_MYSQL $CODIGO 'INICIO'$DIRECTORIO/$PROGRAMA $SISTEMA
.
.
.
graba_MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
CODIGO=$1
DATABASE='maestra'
DIRECTORIO=$2
FECHA=`date +%Y-%m-%d_%H.%M.%S`
PASSWORD='xxxxxxxxx'
PROGRAMA=$3
USUARIO='xxxxxx'
SALIDA="/tmp/$FECHA""_$PROGRAMA.sql"
SALIDA_OUT="/tmp/$FECHA""_$PROGRAMA""_OUT.sql"
VALUES="'$USER', '$DIRECTORIO', '$PROGRAMA', now()"
WHERE=' where `user` = '"'$USER'"' and `Programa` = '"'$PROGRAMA'"' and `Directorio` = '"'$DIRECTORIO'"
USE='USE `maestra`; insert into `numero de compilaciones x Programas` ( `user`, `Directorio`, `Programa`, `alta` ) values ( '$VALUES' )ON DUPLICATE KEY UPDATE `user` = '"'$USER'"';'
echo $USE > $SALIDA_OUT
MYSQL="mysql -u $USUARIO -p$PASSWORD $DATABASE < $SALIDA_OUT"
echo "#!/bin/bash" > $SALIDA
echo $MYSQL >> $SALIDA
chmod +x $SALIDA
echo $SALIDA
$SALIDA
if [ $CODIGO != 0 ]; then
USE='USE `'$DATABASE'`; update `numero de compilaciones x Programas` set `ejecucion fallida veces` = `ejecucion fallida veces` + 1, `ejecucion fallida` = now() '$WHERE' ;'
echo "codigo erroneo $CODIGO"
else
USE='USE `'$DATABASE'`; update `numero de compilaciones x Programas` set `ejecucion veces` = `ejecucion veces` + 1, `ejecucion` = now() '$WHERE' ;'
echo "codigo bien $CODIGO"
fi
echo $USE > $SALIDA_OUT
MYSQL="mysql -u $USUARIO -p$PASSWORD $DATABASE < $SALIDA_OUT"
echo "#!/bin/bash" > $SALIDA
echo $MYSQL >> $SALIDA
chmod +x $SALIDA
$SALIDA
cambie los privilegios a 711. voy a probar a 751, y cuento.
De hecho en .bashrc hay una linea que dice PATH=~/bin:~/Sh:$PATH
GRACIAS POR SUS ATENCIONES
Valora esta pregunta


0