You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

69 lines
2.4 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. INCOMING_UPLOADS_DIR="/data/incoming"
  20. CHUNKER_WORKING_DIR="/data/chunker-work"
  21. PACKING_QUEUE_DIR="/data/packing-queue"
  22. PACKER_WORKING_CHUNKS_DIR="/data/packer-work-in"
  23. PACKER_WORKING_MEGAWARC_DIR="/data/packer-work-out"
  24. UPLOAD_QUEUE_DIR="/data/upload-queue"
  25. UPLOADER_WORKING_DIR="/data/uploader-work"
  26. COMPLETED_DIR=""
  27. EOF
  28. touch /factory/RUN
  29. case "${1}" in
  30. chunk|chunker|chunk-multiple)
  31. if test -z "${MEGABYTES_PER_CHUNK}"; then
  32. echo "Missing param: MEGABYTES_PER_CHUNK=${MEGABYTES_PER_CHUNK}"
  33. exit 1
  34. fi
  35. exec /factory/chunk-multiple
  36. ;;
  37. pack|pack-one|packer|pack-multiple)
  38. if test -z "${FILE_PREFIX}"; then
  39. echo "Missing param: FILE_PREFIX=${FILE_PREFIX}"
  40. exit 1
  41. fi
  42. exec /factory/pack-multiple
  43. ;;
  44. upload|upload-one|upload-multiple)
  45. if test -z "${IA_AUTH}" || test -z "${IA_COLLECTION}" || test -z "${IA_ITEM_TITLE}" || test -z "${IA_ITEM_PREFIX}" || test -z "${FILE_PREFIX}"; then
  46. 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}"
  47. exit 1
  48. fi
  49. exec /factory/upload-multiple
  50. ;;
  51. offload|offload-one|offload-multiple)
  52. if test -z "${OFFLOAD_TARGET}" && ! test -f "${PWD}/offload_targets"; then
  53. echo "Missing param: OFFLOAD_TARGET=${OFFLOAD_TARGET} and no ${PWD}/offload_targets existing"
  54. exit 1
  55. fi
  56. exec /factory/offload-multiple
  57. ;;
  58. *)
  59. echo "Usage: chunk|pack|upload|offload"
  60. exit 1
  61. ;;
  62. esac