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.
 
 

30 lines
762 B

  1. #!/bin/bash
  2. set -exuo pipefail
  3. # https://stackoverflow.com/a/2173421
  4. trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT
  5. export SHARED_WARCS_DIR="${SHARED_WARCS_DIR:-/data/}"
  6. export INCOMING="${INCOMING:-${SHARED_WARCS_DIR}/incoming/}"
  7. export UPLOAD_QUEUE="${UPLOAD_QUEUE:-${SHARED_WARCS_DIR}/upload-queue/}"
  8. export MOVER_WORKING_DIR="${MOVER_WORKING_DIR:-${SHARED_WARCS_DIR}/mover-work/}"
  9. function makedir() {
  10. mkdir -pv "$1"
  11. chown nobody:nogroup "$1"
  12. }
  13. makedir "${INCOMING}"
  14. makedir "${UPLOAD_QUEUE}"
  15. makedir "${MOVER_WORKING_DIR}"
  16. case "$1" in
  17. "mover")
  18. setpriv --reuid=nobody --regid=nogroup --init-groups --inh-caps=-all /mover.sh
  19. ;;
  20. "uploader")
  21. setpriv --reuid=nobody --regid=nogroup --init-groups --inh-caps=-all /uploader.sh
  22. ;;
  23. esac