sort_and_upload.sh 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #! /bin/bash
  2. GDRIVE=/opt/midjourney/bin/gdrive
  3. LOGFILE=/scratch/midjourney-sort-and-upload.log
  4. MIDJOURNEYDIR=/midjourney/
  5. echo ""
  6. echo "Starting midjourney sync and upload - $(date)" 2>&1 | tee -a ${LOGFILE}
  7. #if [[ ! -v SMALL ]]; then
  8. # echo "ERROR: No gdrive key for SMALL" 2>&1 | tee -a ${LOGFILE}
  9. # exit -1
  10. #fi
  11. #
  12. #if [[ ! -v MEDIUM ]]; then
  13. # echo "ERROR: No gdrive key for MEDIUM" 2>&1 | tee -a ${LOGFILE}
  14. # exit -1
  15. #fi
  16. #
  17. #if [[ ! -v LARGE ]]; then
  18. # echo "ERROR: No gdrive key for LARGE" 2>&1 | tee -a ${LOGFILE}
  19. # exit -1
  20. #fi
  21. SAVEIFS=$IFS
  22. IFS=$(echo -en "\n\b")
  23. (
  24. if compgen -G "${MIDJOURNEYDIR}/images/*.png" > /dev/null; then
  25. echo New files. Sorting.
  26. for i in ${MIDJOURNEYDIR}/images/*.png; do
  27. maxdim=$(file "$i" | sed 's/,//g' | awk '{ print ($6 > $8)? $6 : $8 }')
  28. if [ $maxdim -lt 512 ]; then
  29. echo SMALL: "$i"
  30. rsync $i ${MIDJOURNEYDIR}/images.small/
  31. if [ $? -eq 0 ]; then
  32. mv $i ${MIDJOURNEYDIR}/images.filtered/
  33. fi
  34. elif [ $maxdim -lt 1281 ]; then
  35. echo MEDIUM: "$i"
  36. rsync $i ${MIDJOURNEYDIR}/images.medium/
  37. if [ $? -eq 0 ]; then
  38. mv $i ${MIDJOURNEYDIR}/images.filtered/
  39. fi
  40. else
  41. echo LARGE: "$i"
  42. rsync $i ${MIDJOURNEYDIR}/images.large/
  43. if [ $? -eq 0 ]; then
  44. mv $i ${MIDJOURNEYDIR}/images.filtered/
  45. fi
  46. fi
  47. done
  48. else
  49. echo No new files. No need to sort.
  50. fi
  51. ) 2>&1 | tee -a ${LOGFILE}
  52. # As of 2023-07-21 we're no longer uploading to google drive
  53. #echo Syncing Small 2>&1 | tee -a ${LOGFILE}
  54. #${GDRIVE} sync upload --keep-largest ${MIDJOURNEYDIR}/images.small/ $SMALL 2>&1 | tee -a ${LOGFILE}
  55. #echo Syncing Medium 2>&1 | tee -a ${LOGFILE}
  56. #${GDRIVE} sync upload --keep-largest ${MIDJOURNEYDIR}/images.medium/ $MEDIUM 2>&1 | tee -a ${LOGFILE}
  57. #echo Syncing Large 2>&1 | tee -a ${LOGFILE}
  58. #${GDRIVE} sync upload --keep-largest ${MIDJOURNEYDIR}/images.large/ $LARGE 2>&1 | tee -a ${LOGFILE}
  59. echo "Ending midjourney sync and upload - $(date)" 2>&1 | tee -a ${LOGFILE}
  60. echo ""