uner-digital / DSpace

UNER-Digital es el repositorio institucional de la Universidad Nacional de Entre Ríos (UNER - http://www.uner.edu.ar/). El desarrollo está basado en DSpace y customizado por el equipo de desarrollo de SEDICI.
Other
1 stars 1 forks source link

Corregir cronjob de backup de AIP #66

Closed FacundoAdorno closed 7 years ago

FacundoAdorno commented 7 years ago

Hay que corregir 2 cosas con respecto a la cronjob de backup de AIP, una simple y otra un poco mas compleja:

  1. Cambiar el directorio donde se lo guarda a $BACKUP_DIR/aip
  2. Está fallando algo durante la generación ó del AIP ó del .zip generado, ya que cuando quiero ver el contenido del archivo usando unzip -l aip-site.zip no puedo ver su contenido ya que parece que está vacío:
    unzip -l aip-site.zip | less
    End-of-central-directory signature not found.  Either this file is not
    a zipfile, or it constitutes one disk of a multi-part archive.  In the
    latter case the central directory and zipfile comment will be found on
    the last disk(s) of this archive.
    unzip:  cannot find zipfile directory in one of aip-site.zip or
        aip-site.zip.zip, and cannot find aip-site.zip.ZIP, period.

    Esta cronjob la copié tal cual como en CIC-Digital...

FacundoAdorno commented 7 years ago
  1. Corregí el directorio de backups a $BACKUP_DIR/aip en el servidor.

  2. Con respecto a este problema, tuve que probar a mano la misma tarea en la cronjob que se encargaba de la generación de los AIP, y en este caso se ejecutó sin problemas. Luego, probé le ejecución de la cronjob de AIP en una fecha cercana (duplicando exactamente la misma cron de AIP) y también se generaron correctamente los AIPs. No sé por qué no se estaban generando anteriormente.

NOTA (entorno de desarrollo): Cuando probé la ejecución de AIP en el entorno de desarrollo de mi máquina, me fallaba la ejecución con el siguiente stacktrace:


[facundo@facu-chakra install]$ ./bin/dspace packager -d -a -t AIP -e facundo@sedici.unlp.edu.ar -i 123456789/0 /home/facundo/sitewide-aip.zip

Disseminating DSpace SITE [ hdl=123456789/0 ] to /home/facundo/sitewide-aip.zip

Also disseminating all child objects (recursive mode).. This may take a while, please check your logs for ongoing status while we process each package. Exception: No existe el fichero o el directorio java.io.IOException: No existe el fichero o el directorio at java.io.UnixFileSystem.createFileExclusively(Native Method) at java.io.File.createTempFile(File.java:2024) at org.dspace.content.crosswalk.RoleCrosswalk.disseminateElement(RoleCrosswalk.java:190) at org.dspace.content.packager.AbstractMETSDisseminator.crosswalkToMetsElement(AbstractMETSDisseminator.java:1356) at org.dspace.content.packager.AbstractMETSDisseminator.makeMdSec(AbstractMETSDisseminator.java:626) at org.dspace.content.packager.AbstractMETSDisseminator.addToAmdSec(AbstractMETSDisseminator.java:739) at org.dspace.content.packager.AbstractMETSDisseminator.addAmdSec(AbstractMETSDisseminator.java:765) at org.dspace.content.packager.AbstractMETSDisseminator.makeManifest(AbstractMETSDisseminator.java:862) at org.dspace.content.packager.AbstractMETSDisseminator.writeZipPackage(AbstractMETSDisseminator.java:334) at org.dspace.content.packager.AbstractMETSDisseminator.disseminate(AbstractMETSDisseminator.java:271) at org.dspace.content.packager.DSpaceAIPDisseminator.disseminate(DSpaceAIPDisseminator.java:165) at org.dspace.content.packager.AbstractPackageDisseminator.disseminateAll(AbstractPackageDisseminator.java:102) at org.dspace.app.packager.Packager.disseminate(Packager.java:645) at org.dspace.app.packager.Packager.main(Packager.java:464) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:229) at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:81)


 > Esto fue debido a que no existía en mi local el directorio especificado por la propiedad  "upload.temp.dir", directorio que utiliza la clase "MODSDisseminationCrosswalk.java" para hacer los AIP.

Agregué un recordatorio en mi calendario para verificar que la cronjob se este ejecutando como debe ser...
FacundoAdorno commented 7 years ago

Ya verifique la ejecución de los AIPs y se están ejecutando correctamente. La última vez fue el domingo pasado 29 de enero. aip_uner_generation