ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Script to Move and Decrypt Files in a Specified Directory

    IT Discussion
    bash gpg
    4
    13
    1.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • wirestyle22W
      wirestyle22 @JaredBusch
      last edited by

      @JaredBusch said in Script to Move and Decrypt Files in a Specified Directory:

      @wirestyle22 said in Script to Move and Decrypt Files in a Specified Directory:

      jaredisacuddlebear

      I don’t do the furry scene. Sorry.

      If you did, what animal would you be?

      ObsolesceO 1 Reply Last reply Reply Quote 0
      • ObsolesceO
        Obsolesce @wirestyle22
        last edited by

        @wirestyle22 said in Script to Move and Decrypt Files in a Specified Directory:

        @JaredBusch said in Script to Move and Decrypt Files in a Specified Directory:

        @wirestyle22 said in Script to Move and Decrypt Files in a Specified Directory:

        jaredisacuddlebear

        I don’t do the furry scene. Sorry.

        If you did, what animal would you be?

        Everyone knows it would be a fox.

        1 Reply Last reply Reply Quote 5
        • scottalanmillerS
          scottalanmiller
          last edited by

          This is a CMD script. What language do you need and/or what platform are you writing for?

          1 Reply Last reply Reply Quote 0
          • scottalanmillerS
            scottalanmiller
            last edited by

            That script looks odd because it has UNIX filesystem designations mixed into Windows-only legacy code.

            1 Reply Last reply Reply Quote 0
            • scottalanmillerS
              scottalanmiller @wirestyle22
              last edited by

              @wirestyle22 said in Script to Move and Decrypt Files in a Specified Directory:

              Move the encrypted file into an archive.

              Once we have a language, let's go step by step. Where are the files coming from? This is really easy, it's just a mv command, like you had, if it is just going from one directory to another. But if it is doing that, can't you make them get put in the right one in the first place and save that step?

              1 Reply Last reply Reply Quote 0
              • scottalanmillerS
                scottalanmiller @wirestyle22
                last edited by

                @wirestyle22 said in Script to Move and Decrypt Files in a Specified Directory:

                and place it in a specific directory that will be used by the load process

                What's the reason for needing to move it, decrypt it, and move it again? Isn't that unnecessary steps? Or can it not be decrypted where it first gets put?

                wirestyle22W 1 Reply Last reply Reply Quote 0
                • wirestyle22W
                  wirestyle22 @scottalanmiller
                  last edited by

                  @scottalanmiller said in Script to Move and Decrypt Files in a Specified Directory:

                  @wirestyle22 said in Script to Move and Decrypt Files in a Specified Directory:

                  and place it in a specific directory that will be used by the load process

                  What's the reason for needing to move it, decrypt it, and move it again? Isn't that unnecessary steps? Or can it not be decrypted where it first gets put?

                  yes, it can't. someone else is dictating where the files and placed and then where they are moved to

                  1 Reply Last reply Reply Quote 0
                  • scottalanmillerS
                    scottalanmiller
                    last edited by

                    Let's look at this in BASH, because it's way easier...

                    You have files that end in .gpg in a directory now. You want them in a new one, not encrypted, correct?

                    #!/bin/bash
                    for i in $(ls /orig/directory/*.gpg); do
                        gpg --decrypt $i > /new/directory/$i.txt
                    done
                    
                    1 Reply Last reply Reply Quote 2
                    • scottalanmillerS
                      scottalanmiller
                      last edited by

                      Sounds like all you need to do is list the files, loop through the ones that you found, and decrypt.

                      A for loop is the easiest to read, but is much longer. A find would do this too, in a single line. you could make this a one line for command, too.

                      No need for this to be a script, it's really just a single for loop, so just a one line command you can run.

                      1 Reply Last reply Reply Quote 0
                      • scottalanmillerS
                        scottalanmiller
                        last edited by

                        @scottalanmiller said in Script to Move and Decrypt Files in a Specified Directory:

                        for i in $(ls /orig/directory/*.gpg); do
                        gpg --decrypt $i > /new/directory/$i.txt
                        done

                        Here it is as a command....

                        for i in $(ls /orig/directory/*.gpg); do gpg --decrypt $i > /new/directory/$i.txt; done
                        
                        1 Reply Last reply Reply Quote 0
                        • wirestyle22W
                          wirestyle22
                          last edited by wirestyle22

                          This week was a learning experience.

                          #!/usr/bin/env bash
                          source "/home/datatransfer/company/master.sh"
                          encryptedFolderPath="/home/datatransfer/company/in /"
                          decryptedFolderPath="/home/datatransfer/company/out"
                          archiveFolderPath="/home/datatransfer/company/archive"
                          for i in $(ls $encryptedFolderPath.pgp)
                          do
                              gpg --batch --passphrase $PASS --list-only --list-packets --yes $i | grep -q "encrypted"
                              if [ $? != 0 ]; then
                                  echo "$i is not a pgp file"
                                  continue
                              fi
                              v=${i%.}
                              encryptedFile="$v"
                              fileName=${encryptedFile##/}
                              timeNow=$(date +%Y%m%d%H%M)
                              extension=${fileName##.}
                              newFileName=${fileName%.*}
                              fileWithTimestamp="$newFileName""_""$timeNow.$extension"
                          
                              gpg --batch –passphrase $PASS --yes --decrypt $i > $decryptedFolderPath/$fileWithTimestamp
                          
                              ls -lr $decryptedFolderPath/$fileWithTimestamp
                              if [ $? != 0 ]; then
                                  echo "$fileWithTimestamp is not a readable file"
                                  continue
                              fi
                          
                              mv $i $archiveFolderPath
                          done
                          

                          Thanks to @scottalanmiller @stacksofplates and my friend Erik

                          1 Reply Last reply Reply Quote 2
                          • 1 / 1
                          • First post
                            Last post