Simple media ingest scriptBash Backup ScriptSimple IPSec/tunnel setup scriptNew svn repository scriptOS testing scriptSimple Bash log backup scriptSimple Bash backup script - follow-upScript to toggle touchpadSimple load testing script in bashSimple Linux upgrade script in BashMemoizing or caching Bash function results

A workplace installs custom certificates on personal devices, can this be used to decrypt HTTPS traffic?

What (else) happened July 1st 1858 in London?

Are taller landing gear bad for aircraft, particulary large airliners?

Why does this part of the Space Shuttle launch pad seem to be floating in air?

Why isn't KTEX's runway designation 10/28 instead of 9/27?

A known event to a history junkie

How do ultrasonic sensors differentiate between transmitted and received signals?

I'm in charge of equipment buying but no one's ever happy with what I choose. How to fix this?

Calculating the number of days between 2 dates in Excel

Meta programming: Declare a new struct on the fly

How to check participants in at events?

For airliners, what prevents wing strikes on landing in bad weather?

Proof of Lemma: Every integer can be written as a product of primes

Can a controlled ghast be a leader of a pack of ghouls?

What is Sitecore Managed Cloud?

What is the term when two people sing in harmony, but they aren't singing the same notes?

How to deal with or prevent idle in the test team?

Did US corporations pay demonstrators in the German demonstrations against article 13?

Resetting two CD4017 counters simultaneously, only one resets

Simple image editor tool to draw a simple box/rectangle in an existing image

Female=gender counterpart?

Who must act to prevent Brexit on March 29th?

Visiting the UK as unmarried couple

What does the "3am" section means in manpages?



Simple media ingest script


Bash Backup ScriptSimple IPSec/tunnel setup scriptNew svn repository scriptOS testing scriptSimple Bash log backup scriptSimple Bash backup script - follow-upScript to toggle touchpadSimple load testing script in bashSimple Linux upgrade script in BashMemoizing or caching Bash function results













0












$begingroup$


Trying to script a simple command line tool for ingesting media to a target location following a structured naming convention.



It's functional in its current state but I'd like to know if there are things to improve.



!/usr/local/bin/bash



make target directory for transfer



make_directory()

echo -e "nnFollow the prompt to create a project directory.nn"
sleep .5

while [[ -z "$target_directory" ]]
do
echo -e "Path of target directory?"
read target_directory
done

while [[ -z "$brand" ]]
do
echo -e "nBrand Prefix?"
read brand
done

while [[ -z "$project" ]]
do
echo -e "nProject Name?"
read project
done

while [[ -z "$media_type" ]]
do
echo -e "nMedia Type?"
read media_type
done

while [[ -z "$location" ]]
do
echo -e "nLocation?"
read location
done

while [[ -z "$employee" ]]
do
echo -e "nEmployee?"
read employee
done

path=$target_directory/$(date +'%Y%m%d')_$brand_$project_$media_type_$location_$employee

echo -e "nCreating directory: $pathnn"

mkdir -p "$path"




construct rsync command



construct_rsync()

echo -e "nnFollow the prompt to construct the rsync command.nn"
while [[ -z "$source_path" ]]
do
echo -e "Path to source media?"
read source_path
done

if [[ "$option" == "2" ]]; then
while [[ -z "$target_directory" ]]
do
echo -e "Target directory?"
read destination_path
done
path=$target_directory
fi

while true;
do
read -p "Additional rsync options? [y/n] " rsync_add
case $rsync_add in
[Yy]* )
echo -e "nEnter additional rsync parameters:"
read rsync_options
break;;
[Nn]* )
break;;
*) echo "Please enter y or no!"
esac
done

echo -e "nConstructing rsync command...n"
sleep .5
echo -e "Running rsync command:n
rsync n
-r n
--info=progress2 n
--log-file=$path/$(date +'%Y%m%d')_transfer_log.txt n
$rsync_options n
$source_path/ n
$path n"

rsync -r --info=progress2 --log-file="$path/$(date +'%Y%m%d')_transfer_log.txt" $rsync_options "$source_path/" "$path"



log exit code of rsync



log()

echo -e "nCreating error log..."
echo $? > "$path/error_log.txt"

sleep .5

if [[ "$?" == "0" ]]; then
echo -e "nTransfer complete!"
elif [[ "$?" != "0" ]]; then
echo -e "nError in transfer! Please refer to error_log.txt!"
fi



read user input and run appropriate functions



while true
do
read -p "Enter [1] to start an ingest or [2] to complete a partial ingest. " option



 case $option in

1 )
make_directory
sleep .5
construct_rsync
sleep .5
log
break;;
2 )
construct_rsync
sleep .5
log
break;;
* )
echo "Please enter a valid option!";;
esac


done









share







New contributor




usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$
















    0












    $begingroup$


    Trying to script a simple command line tool for ingesting media to a target location following a structured naming convention.



    It's functional in its current state but I'd like to know if there are things to improve.



    !/usr/local/bin/bash



    make target directory for transfer



    make_directory()

    echo -e "nnFollow the prompt to create a project directory.nn"
    sleep .5

    while [[ -z "$target_directory" ]]
    do
    echo -e "Path of target directory?"
    read target_directory
    done

    while [[ -z "$brand" ]]
    do
    echo -e "nBrand Prefix?"
    read brand
    done

    while [[ -z "$project" ]]
    do
    echo -e "nProject Name?"
    read project
    done

    while [[ -z "$media_type" ]]
    do
    echo -e "nMedia Type?"
    read media_type
    done

    while [[ -z "$location" ]]
    do
    echo -e "nLocation?"
    read location
    done

    while [[ -z "$employee" ]]
    do
    echo -e "nEmployee?"
    read employee
    done

    path=$target_directory/$(date +'%Y%m%d')_$brand_$project_$media_type_$location_$employee

    echo -e "nCreating directory: $pathnn"

    mkdir -p "$path"




    construct rsync command



    construct_rsync()

    echo -e "nnFollow the prompt to construct the rsync command.nn"
    while [[ -z "$source_path" ]]
    do
    echo -e "Path to source media?"
    read source_path
    done

    if [[ "$option" == "2" ]]; then
    while [[ -z "$target_directory" ]]
    do
    echo -e "Target directory?"
    read destination_path
    done
    path=$target_directory
    fi

    while true;
    do
    read -p "Additional rsync options? [y/n] " rsync_add
    case $rsync_add in
    [Yy]* )
    echo -e "nEnter additional rsync parameters:"
    read rsync_options
    break;;
    [Nn]* )
    break;;
    *) echo "Please enter y or no!"
    esac
    done

    echo -e "nConstructing rsync command...n"
    sleep .5
    echo -e "Running rsync command:n
    rsync n
    -r n
    --info=progress2 n
    --log-file=$path/$(date +'%Y%m%d')_transfer_log.txt n
    $rsync_options n
    $source_path/ n
    $path n"

    rsync -r --info=progress2 --log-file="$path/$(date +'%Y%m%d')_transfer_log.txt" $rsync_options "$source_path/" "$path"



    log exit code of rsync



    log()

    echo -e "nCreating error log..."
    echo $? > "$path/error_log.txt"

    sleep .5

    if [[ "$?" == "0" ]]; then
    echo -e "nTransfer complete!"
    elif [[ "$?" != "0" ]]; then
    echo -e "nError in transfer! Please refer to error_log.txt!"
    fi



    read user input and run appropriate functions



    while true
    do
    read -p "Enter [1] to start an ingest or [2] to complete a partial ingest. " option



     case $option in

    1 )
    make_directory
    sleep .5
    construct_rsync
    sleep .5
    log
    break;;
    2 )
    construct_rsync
    sleep .5
    log
    break;;
    * )
    echo "Please enter a valid option!";;
    esac


    done









    share







    New contributor




    usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$














      0












      0








      0





      $begingroup$


      Trying to script a simple command line tool for ingesting media to a target location following a structured naming convention.



      It's functional in its current state but I'd like to know if there are things to improve.



      !/usr/local/bin/bash



      make target directory for transfer



      make_directory()

      echo -e "nnFollow the prompt to create a project directory.nn"
      sleep .5

      while [[ -z "$target_directory" ]]
      do
      echo -e "Path of target directory?"
      read target_directory
      done

      while [[ -z "$brand" ]]
      do
      echo -e "nBrand Prefix?"
      read brand
      done

      while [[ -z "$project" ]]
      do
      echo -e "nProject Name?"
      read project
      done

      while [[ -z "$media_type" ]]
      do
      echo -e "nMedia Type?"
      read media_type
      done

      while [[ -z "$location" ]]
      do
      echo -e "nLocation?"
      read location
      done

      while [[ -z "$employee" ]]
      do
      echo -e "nEmployee?"
      read employee
      done

      path=$target_directory/$(date +'%Y%m%d')_$brand_$project_$media_type_$location_$employee

      echo -e "nCreating directory: $pathnn"

      mkdir -p "$path"




      construct rsync command



      construct_rsync()

      echo -e "nnFollow the prompt to construct the rsync command.nn"
      while [[ -z "$source_path" ]]
      do
      echo -e "Path to source media?"
      read source_path
      done

      if [[ "$option" == "2" ]]; then
      while [[ -z "$target_directory" ]]
      do
      echo -e "Target directory?"
      read destination_path
      done
      path=$target_directory
      fi

      while true;
      do
      read -p "Additional rsync options? [y/n] " rsync_add
      case $rsync_add in
      [Yy]* )
      echo -e "nEnter additional rsync parameters:"
      read rsync_options
      break;;
      [Nn]* )
      break;;
      *) echo "Please enter y or no!"
      esac
      done

      echo -e "nConstructing rsync command...n"
      sleep .5
      echo -e "Running rsync command:n
      rsync n
      -r n
      --info=progress2 n
      --log-file=$path/$(date +'%Y%m%d')_transfer_log.txt n
      $rsync_options n
      $source_path/ n
      $path n"

      rsync -r --info=progress2 --log-file="$path/$(date +'%Y%m%d')_transfer_log.txt" $rsync_options "$source_path/" "$path"



      log exit code of rsync



      log()

      echo -e "nCreating error log..."
      echo $? > "$path/error_log.txt"

      sleep .5

      if [[ "$?" == "0" ]]; then
      echo -e "nTransfer complete!"
      elif [[ "$?" != "0" ]]; then
      echo -e "nError in transfer! Please refer to error_log.txt!"
      fi



      read user input and run appropriate functions



      while true
      do
      read -p "Enter [1] to start an ingest or [2] to complete a partial ingest. " option



       case $option in

      1 )
      make_directory
      sleep .5
      construct_rsync
      sleep .5
      log
      break;;
      2 )
      construct_rsync
      sleep .5
      log
      break;;
      * )
      echo "Please enter a valid option!";;
      esac


      done









      share







      New contributor




      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      Trying to script a simple command line tool for ingesting media to a target location following a structured naming convention.



      It's functional in its current state but I'd like to know if there are things to improve.



      !/usr/local/bin/bash



      make target directory for transfer



      make_directory()

      echo -e "nnFollow the prompt to create a project directory.nn"
      sleep .5

      while [[ -z "$target_directory" ]]
      do
      echo -e "Path of target directory?"
      read target_directory
      done

      while [[ -z "$brand" ]]
      do
      echo -e "nBrand Prefix?"
      read brand
      done

      while [[ -z "$project" ]]
      do
      echo -e "nProject Name?"
      read project
      done

      while [[ -z "$media_type" ]]
      do
      echo -e "nMedia Type?"
      read media_type
      done

      while [[ -z "$location" ]]
      do
      echo -e "nLocation?"
      read location
      done

      while [[ -z "$employee" ]]
      do
      echo -e "nEmployee?"
      read employee
      done

      path=$target_directory/$(date +'%Y%m%d')_$brand_$project_$media_type_$location_$employee

      echo -e "nCreating directory: $pathnn"

      mkdir -p "$path"




      construct rsync command



      construct_rsync()

      echo -e "nnFollow the prompt to construct the rsync command.nn"
      while [[ -z "$source_path" ]]
      do
      echo -e "Path to source media?"
      read source_path
      done

      if [[ "$option" == "2" ]]; then
      while [[ -z "$target_directory" ]]
      do
      echo -e "Target directory?"
      read destination_path
      done
      path=$target_directory
      fi

      while true;
      do
      read -p "Additional rsync options? [y/n] " rsync_add
      case $rsync_add in
      [Yy]* )
      echo -e "nEnter additional rsync parameters:"
      read rsync_options
      break;;
      [Nn]* )
      break;;
      *) echo "Please enter y or no!"
      esac
      done

      echo -e "nConstructing rsync command...n"
      sleep .5
      echo -e "Running rsync command:n
      rsync n
      -r n
      --info=progress2 n
      --log-file=$path/$(date +'%Y%m%d')_transfer_log.txt n
      $rsync_options n
      $source_path/ n
      $path n"

      rsync -r --info=progress2 --log-file="$path/$(date +'%Y%m%d')_transfer_log.txt" $rsync_options "$source_path/" "$path"



      log exit code of rsync



      log()

      echo -e "nCreating error log..."
      echo $? > "$path/error_log.txt"

      sleep .5

      if [[ "$?" == "0" ]]; then
      echo -e "nTransfer complete!"
      elif [[ "$?" != "0" ]]; then
      echo -e "nError in transfer! Please refer to error_log.txt!"
      fi



      read user input and run appropriate functions



      while true
      do
      read -p "Enter [1] to start an ingest or [2] to complete a partial ingest. " option



       case $option in

      1 )
      make_directory
      sleep .5
      construct_rsync
      sleep .5
      log
      break;;
      2 )
      construct_rsync
      sleep .5
      log
      break;;
      * )
      echo "Please enter a valid option!";;
      esac


      done







      bash





      share







      New contributor




      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 7 mins ago









      usulmuaddibusulmuaddib

      1




      1




      New contributor




      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      usulmuaddib is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          0






          active

          oldest

          votes











          Your Answer





          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("mathjaxEditing", function ()
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          );
          );
          , "mathjax-editing");

          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "196"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          usulmuaddib is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f216201%2fsimple-media-ingest-script%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          usulmuaddib is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          usulmuaddib is a new contributor. Be nice, and check out our Code of Conduct.












          usulmuaddib is a new contributor. Be nice, and check out our Code of Conduct.











          usulmuaddib is a new contributor. Be nice, and check out our Code of Conduct.














          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f216201%2fsimple-media-ingest-script%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          名間水力發電廠 目录 沿革 設施 鄰近設施 註釋 外部連結 导航菜单23°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.7113923°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.71139計畫概要原始内容臺灣第一座BOT 模式開發的水力發電廠-名間水力電廠名間水力發電廠 水利署首件BOT案原始内容《小檔案》名間電廠 首座BOT水力發電廠原始内容名間電廠BOT - 經濟部水利署中區水資源局

          Prove that NP is closed under karp reduction?Space(n) not closed under Karp reductions - what about NTime(n)?Class P is closed under rotation?Prove or disprove that $NL$ is closed under polynomial many-one reductions$mathbfNC_2$ is closed under log-space reductionOn Karp reductionwhen can I know if a class (complexity) is closed under reduction (cook/karp)Check if class $PSPACE$ is closed under polyonomially space reductionIs NPSPACE also closed under polynomial-time reduction and under log-space reduction?Prove PSPACE is closed under complement?Prove PSPACE is closed under union?

          Is my guitar’s action too high? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Strings too stiff on a recently purchased acoustic guitar | Cort AD880CEIs the action of my guitar really high?Μy little finger is too weak to play guitarWith guitar, how long should I give my fingers to strengthen / callous?When playing a fret the guitar sounds mutedPlaying (Barre) chords up the guitar neckI think my guitar strings are wound too tight and I can't play barre chordsF barre chord on an SG guitarHow to find to the right strings of a barre chord by feel?High action on higher fret on my steel acoustic guitar