Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 

70 lignes
2.5 KiB

  1. #!/bin/bash
  2. set -e
  3. test -d /data || {
  4. echo "No /data mount found"
  5. exit 1
  6. }
  7. mkdir -p /data/incoming /data/chunker-work /data/packing-queue /data/packer-work-in /data/packer-work-out /data/upload-queue /data/uploader-work
  8. IA_ITEM_DATE_LIT='$( date +"%Y-%m" )'
  9. cat > /factory/config.sh << EOF
  10. #!/bin/bash
  11. MEGABYTES_PER_CHUNK="${MEGABYTES_PER_CHUNK}"
  12. IA_AUTH="${IA_AUTH}"
  13. IA_COLLECTION="${IA_COLLECTION}"
  14. IA_ITEM_TITLE="${IA_ITEM_TITLE}"
  15. IA_ITEM_PREFIX="${IA_ITEM_PREFIX}"
  16. FILE_PREFIX="${FILE_PREFIX}"
  17. IA_ITEM_DATE="${IA_ITEM_DATE_LIT}"
  18. OFFLOAD_TARGET="${OFFLOAD_TARGET}"
  19. ZST_DICTIONARY_API="${ZST_DICTIONARY_API}"
  20. INCOMING_UPLOADS_DIR="/data/incoming"
  21. CHUNKER_WORKING_DIR="/data/chunker-work"
  22. PACKING_QUEUE_DIR="/data/packing-queue"
  23. PACKER_WORKING_CHUNKS_DIR="/data/packer-work-in"
  24. PACKER_WORKING_MEGAWARC_DIR="/data/packer-work-out"
  25. UPLOAD_QUEUE_DIR="/data/upload-queue"
  26. UPLOADER_WORKING_DIR="/data/uploader-work"
  27. COMPLETED_DIR=""
  28. EOF
  29. touch /factory/RUN
  30. case "${1}" in
  31. chunk|chunker|chunk-multiple)
  32. if test -z "${MEGABYTES_PER_CHUNK}"; then
  33. echo "Missing param: MEGABYTES_PER_CHUNK=${MEGABYTES_PER_CHUNK}"
  34. exit 1
  35. fi
  36. exec /factory/chunk-multiple
  37. ;;
  38. pack|pack-one|packer|pack-multiple)
  39. if test -z "${FILE_PREFIX}" || test -z "${ZST_DICTIONARY_API}"; then
  40. echo "Missing param: FILE_PREFIX=${FILE_PREFIX} ZST_DICTIONARY_API=${ZST_DICTIONARY_API}"
  41. exit 1
  42. fi
  43. exec /factory/pack-multiple
  44. ;;
  45. upload|upload-one|upload-multiple)
  46. if test -z "${IA_AUTH}" || test -z "${IA_COLLECTION}" || test -z "${IA_ITEM_TITLE}" || test -z "${IA_ITEM_PREFIX}" || test -z "${FILE_PREFIX}"; then
  47. echo "Missing param: IA_AUTH=${IA_AUTH} IA_COLLECTION=${IA_COLLECTION} IA_ITEM_TITLE=${IA_ITEM_TITLE} IA_ITEM_PREFIX=${IA_ITEM_PREFIX} FILE_PREFIX=${FILE_PREFIX}"
  48. exit 1
  49. fi
  50. exec /factory/upload-multiple
  51. ;;
  52. offload|offload-one|offload-multiple)
  53. if test -z "${OFFLOAD_TARGET}" && ! test -f "${PWD}/offload_targets"; then
  54. echo "Missing param: OFFLOAD_TARGET=${OFFLOAD_TARGET} and no ${PWD}/offload_targets existing"
  55. exit 1
  56. fi
  57. exec /factory/offload-multiple
  58. ;;
  59. *)
  60. echo "Usage: chunk|pack|upload|offload"
  61. exit 1
  62. ;;
  63. esac