The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
cron? la automatización de un script hassanj UNIX for Dummies Preguntas y Respuestas 8 12-22-2007 09:29 AM
¿Es posible tener más de un script de shell en el cron? Yamini Thoppen AIX 4 12-17-2007 03:23 AM
Tarea para el script de perl hombre UNIX para usuarios avanzados y expertos 3 07-26-2007 01:20 PM
Secuencia de comandos puede ejecutar manualmente, pero no a través de cron? MadHatter Programación de scripts de shell y 4 10-19-2005 10:08 AM
Cron Guión Q doublek321 Programación de scripts de shell y 2 07-06-2004 09:35 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 03-04-2008
richo rey richo king is offline
Usuario Registrado
  
 

Fecha: marzo 2008
Publicaciones: 4
Ayuda con script - dirigido por cron

Hola,

Tengo un script de shell que se ejecuta cada minuto para procesar los archivos entregados el exterior a través de SFTP a un directorio. Básicamente, el script de las obras y procesos de los archivos sin embargo me sale un mensaje de error cuando un archivo nuevo se entrega en el directorio.

Por favor, ver a mi script de abajo. Un nuevo archivo se entrega cada día a través de SFTP de una fuente externa que los procesos de la secuencia de comandos en la convención de nomenclatura correcta y es entonces importados en nuestra base de datos utilizando abarquillamiento. Obtenemos un nuevo archivo en 06:05 todos los días y me sale un mensaje de error cron entregado a mi buzón de correo todas las mañanas. Sin embargo, si luego me cambio y la secuencia de comandos de prueba y, a continuación, utilizando el mismo archivo con el proceso de cron que correctamente. Sin embargo, cuando vengo en la mañana voy a ver que ha fracasado una vez más - es muy frustrante!

No tengo ni idea de por qué es! Si alguien puede sugerir algo que pueda remediar, por favor hágamelo saber. También he incluido una copia del mensaje de error que dan los cron.

#! / bin / bash
TRANSDATA \u003d / home / tsbftp / transaction_data
TRABAJO \u003d / home / tsbftp / trabajo
FILES \u003d $ (ls $ TRANSDATA)
IMPORTACIÓN \u003d / home/arch3ftp/dfn-dev.arch3systems.com/html/import
para el archivo en $ ARCHIVOS
hacer

# cambio de propietario de archivo a raíz - cambiar los permisos de root para el pleno acceso
echo "$ archivo"> / tmp / formatfile.nfo
chown root $ TRANSDATA / "$ archivo"
chmod 777 $ TRANSDATA / "$ archivo"

# Tira fuera el número de cuenta y el lugar en una variable
UN \u003d $ (grep ^ 00 $ TRANSDATA / "$ archivo" | cut-c 3-18)

# poner fecha y hora actuales para el nombre de archivo y el lugar de convención en una variable
CuDa \u003d $ (date +% Y% m% d% k% M% S)
# Cambiar el nombre actual del archivo con formato
mv $ TRANSDATA / "$ archivo" $ TRANSDATA / $ UN "_" $ CUDA.a3i
sueño 2
mv $ TRANSDATA / $ UN "_" $ $ CUDA.a3i TRABAJO
echo $? >> / Tmp / formatfile.nfo

TRABAJO $ cp / $ UN "_" $ $ CUDA.a3i IMPORTACIÓN
curl-s $ http://dfn-dev.arch3systems.com/batches/import/ AN / $ CuDa
hecho
exit 0

Como se puede ver que he añadido en el sueño, etc 2 para tratar de remediar el error y me trató de cambiar el nombre del archivo en el lugar luego etc Por favor, consulte el siguiente mensaje de error de cron.

/ etc / cron.d / format_file.sh:

mv: al mover varios archivos, último argumento debe ser un directorio Pruebe `mv - help 'para más información.
cp: no puede estadísticas `/ home/tsbftp/working/1539590548547000_20080305 ': No such file or directory

Siempre me la mv de error, sin embargo si cambio el script para hacer el cambiar el nombre de una manera diferente que cuando hago la prueba con cron! Sin embargo por supuesto que no, cuando llega un nuevo archivo en el día siguiente!
  #2 (Enlace permanente)  
Old 03-05-2008
RTM's Avatar
RTM RTM is offline Forum Advisor  
Cazador de cerdo
  
 

Fecha: abril 2002
Localización: En mi moto
Puestos: 3.039
Cita:
Siempre me la mv de error, sin embargo si cambio el script para hacer el cambiar el nombre de una manera diferente que cuando hago la prueba con cron! Sin embargo por supuesto que no, cuando llega un nuevo archivo en el día siguiente!
Porque cuando la prueba, el sftp se ha completado y no se cierre el archivo que le permite renombrar / mover sin problemas.

Probablemente tenga que cambiar la forma en que las obras sftp - sentido, envía un segundo archivo (ya sea un 0 o un byte de archivo con la suma de control del primer archivo en él), compruebe que el segundo archivo está allí (debido a su pequeño tamaño, usted puede dormir 2 segundos y no tienen ningún problema de abrirlo para obtener la verificación de información).

Pasos:
1. sftp envío de archivo original
2. Su tarea arranca - sftp puede ser el envío de archivos
3. Tarea espera a que el archivo 2.
4. sftp termina enviando primer archivo.
5. sftp envía segundo archivo.
6. tarea se encuentra segundo archivo - "sabe" que es seguro para manipular primer archivo
7. Si decide enviar información de comprobación - comprobar la información enviada frente a lo que muestra que su sistema de comprobación - debe ser el mismo.

En caso de que no se puede hacer (no es controlar lo que está enviando sftp), entonces usted puede incluir el archivo original - esperar hasta que se detenga cada vez mayor. O bien, buscar el sftp proceso, espere hasta que se ha ido. Pero la suma de comprobación es una gran manera de asegurar su archivo es el mismo que el original.
  #3 (Enlace permanente)  
Old 03-05-2008
richo rey richo king is offline
Usuario Registrado
  
 

Fecha: marzo 2008
Publicaciones: 4
gracias por la respuesta que entender lo ur pero seguramente diciendo que el proceso acabará cuando el expediente está completo? ya que se ejecuta cada minuto. El archivo de proceso, incluso si no i ejecutarlo manualmente en el nuevo archivo en el que ha llegado incluso después de esperar un par de minutos. Es sólo después de cambiar la secuencia de comandos ligeramente el archivo de proceso corectly hasta un nuevo archivo aparece al día siguiente.

Voy a tratar lo han sugerido u como he quedado sin ideas. Gracias de nuevo.

Richo
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 04:49 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0