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

    Question - how to use tar to compress multiple top level folders recursively into discrete zip files

    Scheduled Pinned Locked Moved IT Discussion
    20 Posts 4 Posters 378 Views
    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.
    • J
      JasGot
      last edited by

      What OS?

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

        Assuming BASH for launching tar...

        Then the "complex way"...

        for i in compress compress1 compress2; do tar -czvf $i.tgz $i; done
        
        DustinB3403D 1 Reply Last reply Reply Quote 0
        • DustinB3403D
          DustinB3403
          last edited by

          Does it matter, the tar process is tar?

          But osx is likely where this would be run from.

          scottalanmillerS J 2 Replies Last reply Reply Quote 0
          • scottalanmillerS
            scottalanmiller
            last edited by

            Then the "simple way" with some semi-obvious assumptions...

            for i in $(ls); do tar -czvf $i.tgz $i; done
            
            1 Reply Last reply Reply Quote 0
            • scottalanmillerS
              scottalanmiller @DustinB3403
              last edited by

              @DustinB3403 said in Question - how to use tar to compress multiple top level folders recursively into discrete zip files:

              Does it matter, the tar process is tar?

              But osx is likely where this would be run from.

              OS does not, shell does.

              1 Reply Last reply Reply Quote 0
              • DustinB3403D
                DustinB3403 @scottalanmiller
                last edited by

                @scottalanmiller said in Question - how to use tar to compress multiple top level folders recursively into discrete zip files:

                Assuming BASH for launching tar...

                Then the "complex way"...

                for i in compress compress1 compress2; do tar -czvf $i.tgz $i; done
                

                That I think would require me to fill out the tar command on a forever ongoing process. Hoping to be able to just target the --- folder root for.

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

                  Or another way....

                  for i in $(ls -r | grep compress); do tar -czvf $i.tgz $i; done
                  
                  1 Reply Last reply Reply Quote 0
                  • scottalanmillerS
                    scottalanmiller @DustinB3403
                    last edited by

                    @DustinB3403 said in Question - how to use tar to compress multiple top level folders recursively into discrete zip files:

                    @scottalanmiller said in Question - how to use tar to compress multiple top level folders recursively into discrete zip files:

                    Assuming BASH for launching tar...

                    Then the "complex way"...

                    for i in compress compress1 compress2; do tar -czvf $i.tgz $i; done
                    

                    That I think would require me to fill out the tar command on a forever ongoing process. Hoping to be able to just target the --- folder root for.

                    Should be easy to do, you just have to define what makes the target folder obviously the target and write the bit in the $() to return that and away you go.

                    1 Reply Last reply Reply Quote 0
                    • J
                      JasGot @DustinB3403
                      last edited by

                      @DustinB3403 said in Question - how to use tar to compress multiple top level folders recursively into discrete zip files:

                      Does it matter, the tar process is tar?

                      But osx is likely where this would be run from.

                      Because I was going to write a cmd for loop for you if it were Win, and I was going to pass if it were *nix.

                      scottalanmillerS 1 Reply Last reply Reply Quote 0
                      • DustinB3403D
                        DustinB3403
                        last edited by

                        Well of the --- folder never changes, but the content beneath it does, that would be what I would target.

                        I'm trying to resolve our user base breaking our backups by have file paths longer than 255 characters, which the simplest way I can think of is to just compress everything in --- folder.

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

                          @JasGot said in Question - how to use tar to compress multiple top level folders recursively into discrete zip files:

                          @DustinB3403 said in Question - how to use tar to compress multiple top level folders recursively into discrete zip files:

                          Does it matter, the tar process is tar?

                          But osx is likely where this would be run from.

                          Because I was going to write a cmd for loop for you if it were Win, and I was going to pass if it were *nix.

                          It's the shell, not the OS, that determines the looping structure. PowerShell on Linux is the same as on Windows. Bash on Windows is the same as on Linux. 🙂

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

                            I don't follow your - - - naming scheme. Can you explain differently?

                            DustinB3403D 1 Reply Last reply Reply Quote 0
                            • DustinB3403D
                              DustinB3403 @Obsolesce
                              last edited by

                              @Obsolesce said in Question - how to use tar to compress multiple top level folders recursively into discrete zip files:

                              I don't follow your - - - naming scheme. Can you explain differently?

                              Yeah the spacing didn't copy over from mobile.

                              Essentially it's

                              Root folder

                              • sub folder
                                • child folder
                              • different sub folder from root
                                • child folder
                              1 Reply Last reply Reply Quote 0
                              • DustinB3403D
                                DustinB3403
                                last edited by

                                Okay so this is the next annoyance with this, I am getting the entire parent folder up until the target folder in the compressed file.

                                IE: compressed-folder.tar contains

                                • Share Name
                                  • Sub-Parent-Folder
                                    • Next-Level-Parent-Folder
                                      • Target-Folder
                                        . . . . all of the files and sub-folders

                                Anyway to have tar just target the Target-Folder that is on an SMB share, compress that specifically (and it's children to a single file) so I can then move that compressed file without all of the overhead folder structure?

                                ObsolesceO 1 Reply Last reply Reply Quote 0
                                • DustinB3403D
                                  DustinB3403
                                  last edited by

                                  I suppose I could mount each and every Target-Folder but that seems completely counter intuitive and a massive effort. . .

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

                                    @DustinB3403 said in Question - how to use tar to compress multiple top level folders recursively into discrete zip files:

                                    Okay so this is the next annoyance with this, I am getting the entire parent folder up until the target folder in the compressed file.

                                    IE: compressed-folder.tar contains

                                    • Share Name
                                      • Sub-Parent-Folder
                                        • Next-Level-Parent-Folder
                                          • Target-Folder
                                            . . . . all of the files and sub-folders

                                    Anyway to have tar just target the Target-Folder that is on an SMB share, compress that specifically (and it's children to a single file) so I can then move that compressed file without all of the overhead folder structure?

                                    Why not specify /path/to/targetfolder/

                                    DustinB3403D 1 Reply Last reply Reply Quote 0
                                    • DustinB3403D
                                      DustinB3403 @Obsolesce
                                      last edited by DustinB3403

                                      @Obsolesce said in Question - how to use tar to compress multiple top level folders recursively into discrete zip files:

                                      Why not specify /path/to/targetfolder/

                                      I'm not following what you mean.

                                      How I'm currently doing this is tar -zcvf Compressed.zip /Volumes/Parent/Child/Target-folder/

                                      Edit:

                                      And I get everything in the path /Volumes/Parent/Child/Target-folder/ so the compressed file, when decompressed is /Volumes/Parent/Child/Target-Folder/some-stuff

                                      What I want is just Target-Folder and it's contents, not the parent folder path.

                                      1 Reply Last reply Reply Quote 0
                                      • DustinB3403D
                                        DustinB3403
                                        last edited by

                                        Supposedly tar -C /Volumes/Parent/Child/Target-folder -cvf Compressed.zip SelectedDirectory works. . . let me test that.

                                        DustinB3403D 1 Reply Last reply Reply Quote 0
                                        • DustinB3403D
                                          DustinB3403 @DustinB3403
                                          last edited by

                                          @DustinB3403 said in Question - how to use tar to compress multiple top level folders recursively into discrete zip files:

                                          Supposedly tar -C /Volumes/Parent/Child/Target-folder -cvf Compressed.zip SelectedDirectory works. . . let me test that.

                                          Okay so that does work, just is a pain in the rear to have to do manually.

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